8
値として0しか持たないすべての列を見つける方法をデータフレームに与えますか?Python pandas:データフレーム内のすべてのゼロエントリを持つ列を選択
df
0 1 2 3 4 5 6 7
0 0 0 0 1 0 0 1 0
1 1 1 0 0 0 1 1 1
の予想される出力
2 4
0 0 0
1 0 0
値として0しか持たないすべての列を見つける方法をデータフレームに与えますか?Python pandas:データフレーム内のすべてのゼロエントリを持つ列を選択
df
0 1 2 3 4 5 6 7
0 0 0 0 1 0 0 1 0
1 1 1 0 0 0 1 1 1
の予想される出力
2 4
0 0 0
1 0 0
私は単純に0に値を比較し、.all()
を使用したい:
>>> df = pd.DataFrame(np.random.randint(0, 2, (2, 8)))
>>> df
0 1 2 3 4 5 6 7
0 0 0 0 1 0 0 1 0
1 1 1 0 0 0 1 1 1
>>> df == 0
0 1 2 3 4 5 6 7
0 True True True False True True False True
1 False False True True True False False False
>>> (df == 0).all()
0 False
1 False
2 True
3 False
4 True
5 False
6 False
7 False
dtype: bool
>>> df.columns[(df == 0).all()]
Int64Index([u'2', u'4'], dtype=int64)
>>> df.loc[:, (df == 0).all()]
2 4
0 0 0
1 0 0
値のみが '0'と '1'であるため。 'df.loc [:,(〜df.astype(bool))。all()]'も使用できます。 – Zero