相关疑难解决方法(0)

Python Pandas - 了解inplace = True

pandas库中很多次都有一个选项来更改对象,例如使用以下语句...

df.dropna(axis='index', how='all', inplace=True)
Run Code Online (Sandbox Code Playgroud)

我很好奇返回的内容以及inplace=True传递对象时的处理方式inplace=False.

正在修改的所有操作selfinplace=True?什么时候inplace=False立即创建一个新对象new_df = self,然后new_df返回?

python in-place pandas

53
推荐指数
4
解决办法
8万
查看次数

熊猫:dropna之后的原地重命名表现特别下降

我已将此报告为大熊猫问题.与此同时,我发布此处希望节省其他时间,以防他们遇到类似的问题.

在分析需要优化的进程时,我发现重命名列不在适当位置可以提高x120的性能(执行时间).分析表明这与垃圾收集有关(见下文).

此外,通过避免使用dropna方法来恢复预期的性能.

以下简短示例演示了因子x12:

import pandas as pd
import numpy as np
Run Code Online (Sandbox Code Playgroud)

就地=真

%%timeit
np.random.seed(0)
r,c = (7,3)
t = np.random.rand(r)
df1 = pd.DataFrame(np.random.rand(r,c), columns=range(c), index=t)
indx = np.random.choice(range(r),r/3, replace=False)
t[indx] = np.random.rand(len(indx))
df2 = pd.DataFrame(np.random.rand(r,c), columns=range(c), index=t)
df = (df1-df2).dropna()
## inplace rename:
df.rename(columns={col:'d{}'.format(col) for col in df.columns}, inplace=True)
Run Code Online (Sandbox Code Playgroud)

100个循环,最佳3:每循环15.6毫秒

第一输出线%%prun:

ncalls tottime percall cumtime percall filename:lineno(function)

1  0.018 0.018 0.018 0.018 {gc.collect}
Run Code Online (Sandbox Code Playgroud)

就地=假

%%timeit
np.random.seed(0)
r,c = (7,3)
t = np.random.rand(r)
df1 = pd.DataFrame(np.random.rand(r,c), …
Run Code Online (Sandbox Code Playgroud)

python performance in-place pandas

32
推荐指数
1
解决办法
1万
查看次数

如何在Pandas中删除空值?

我尝试在数据帧中删除列'Age'的空值,它由浮点值组成,但它不起作用.我试过了

data.dropna(subset=['Age'], how='all')
data['Age'] = data['Age'].dropna()
data=data.dropna(axis=1,how='all')
Run Code Online (Sandbox Code Playgroud)

它适用于其他列但不适用于'Age'

    Pclass  Fare    Age Sex
0   3   7.2500  22.0    1
1   1   71.2833 38.0    0
2   3   7.9250  26.0    0
3   1   53.1000 35.0    0
4   3   8.0500  35.0    1
5   3   8.4583  NaN 1
6   1   51.8625 54.0    1
7   3   21.0750 2.0 1
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

pandas ×3

python ×3

in-place ×2

performance ×1