2017-06-12 6 views
1

私はパンダではかなり新しく、列の集合(すべてではない)が等しい等しい行をすべて取得する方法を知りたいと思いますゼロにする。私はこのようなデータフレームを持っている場合パンダのデータフレームは、列の集合がゼロに等しいすべての行を返します

たとえば、:

my dataframe

は私が行だけ戻っNとQ(列UとWと実際にはこれら2行)を取得したいのですが。

私はこれに似た何かやろうとしている:

df.loc[(df == 0).all(axis=1), :] 

をしかし、いないすべての列(UとW)がゼロに等しいので、もちろん、それは動作しません。 どうすればいいですか?

ありがとうございました!

答えて

1

あなたはサブセットを使用することができます。

cols = ['X','Y','Z'] 
df1 = df.loc[(df[cols] == 0).all(axis=1), :] 
print (df1) 
    U W X Y Z 
1 c d 0 0 0 
4 i j 0 0 0 

も可能使用である:

exclude = ['U', 'W'] 
cols = df.columns.difference(exclude) 
print (cols) 
Index(['X', 'Y', 'Z'], dtype='object') 

df1 = df.loc[(df[cols] == 0).all(axis=1), :] 
print (df1) 
    U W X Y Z 
1 c d 0 0 0 
4 i j 0 0 0 
+0

おかげjezrael! –

+0

うれしいことがあります。私の答えが役に立ったら、[受諾](http://meta.stackexchange.com/a/5235/295067)を忘れないでください。ありがとう。 – jezrael

関連する問題