>>> df = pd.DataFrame({'a': np.arange(-5, 2), 'b': np.arange(-5, 2), 'c': np.arange(-5, 2), 'd': np.arange(-5, 2), 'e': np.arange(-5, 2)})
>>> df
a b c d e
0 -5 -5 -5 -5 -5
1 -4 -4 -4 -4 -4
2 -3 -3 -3 -3 -3
3 -2 -2 -2 -2 -2
4 -1 -1 -1 -1 -1
5 0 0 0 0 0
6 1 1 1 1 1
>>> df[df[cols] < 0] = np.nan
>>> df
a b c d e
0 NaN NaN NaN -5 -5
1 NaN NaN NaN -4 -4
2 NaN NaN NaN -3 -3
3 NaN NaN NaN -2 -2
4 NaN NaN NaN -1 -1
5 0.0 0.0 0.0 0 0
6 1.0 1.0 1.0 1 1
有个办法:
使用}
loc
和{演示
^{pr2}$你可以用numpy加速
做同样的事情。在
定时
由于赋值是其中的一个重要部分,所以我从头开始创建
df
每个循环。我还添加了创建df
的计时。在对于
n = 10000
对于
n = 100000
我不认为你会比这简单得多:
相关问题 更多 >
编程相关推荐