2016-11-03 142 views
2

如果这是重复的,但我似乎无法在熊猫文档,SO或谷歌中找到有效的示例。熊猫:返回数据框,其中一列的值大于另一列的值

如何返回其中一列的值大于另一列的值的数据框?

应该是这样的:df['A'].where(df['A']>df['B'])

但这仅返回一个向量。我需要完整的过滤数据框。

回答

3

使用query

df.query('A > B') 

考虑尝试df

np.random.seed([3,1415]) 
df = pd.DataFrame(np.random.rand(10, 2), columns=list('AB')) 
df 

enter image description here

选项1

df.query('A > B') 

选项2

df[df.A.gt(df.B)] 

enter image description here

1

要在大熊猫语法做df['A'].where(df['A']>df['B'])本质上是一个面具。取而代之的where你正在服用的数据框的子集:

df[df['A'] > df['B']]

example

相关问题