2016-11-03 140 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

相關問題