2016-11-03 8 views
2

これは重複していても謝罪しますが、pandas docs、SOまたはgoogleの実例を見つけることができません。パンダ:ある列の値が別の列の値よりも大きいところでデータフレームを返す

1つの列の値が別の列の値よりも大きい場合、どのようにデータフレームを返すのですか?

はこのようなものになるはずです。df['A'].where(df['A']>df['B'])

しかし、これが唯一のベクトルを返します。フィルタリングされたデータフレーム全体が必要です。

答えて

3

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

考える query

を使用してみてください
df.query('A > B') 

パンダ構文でdf['A'].where(df['A']>df['B'])を行うには、オプション2

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

enter image description here

1

は、本質的にマスクです。代わりにwhereのあなたは、データフレームのサブセットを取っている:

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

example

関連する問題