为了获得熊猫的两列之间的差异,在指定条件时,我正在使用以下代码。例如,要获得列A和B之间的差异,A > B所在的行
import pandas as pd
df = pd.DataFrame({'A' : [4,5,6,7], 'B' : [1,2,10,11]}); df
A B
0 4 1
1 5 2
2 6 10
3 7 11
df2 = df.loc[df.A > df.B]
df2.A - df2.B
0 3
1 3是否有一种方法来“管道”这一点,而不是创建上面的临时数据df2?
发布于 2018-11-16 10:46:13
在处理海量数据时,一种使用eval并具有high performance的方法:
df.loc[df.A > df.B].eval('A - B')
0 3
1 3
dtype: int64发布于 2018-11-16 10:47:38
只需加入这两个命令并选择要减去的列:
In [2337]: df.loc[df.A > df.B]['A'] - df.loc[df.A > df.B]['B']
Out[2337]:
0 3
1 3
dtype: int64https://stackoverflow.com/questions/53336234
复制相似问题