首页 > 解决方案 > 如果满足条件,两列的差异

问题描述

为了在指定条件时获取熊猫数据框的两列之间的差异,我目前正在使用以下代码。例如,要获得列AB行之间的差异,其中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上面的临时数据框?

标签: pandasdataframe

解决方案


在处理大量数据时使用evaland has的一种方法:high performance

df.loc[df.A > df.B].eval('A - B')

0    3
1    3
dtype: int64

推荐阅读