2013-05-10 11 views

答えて

16

私は単純に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

値のみが '0'と '1'であるため。 'df.loc [:,(〜df.astype(bool))。all()]'も使用できます。 – Zero

関連する問題