2013-05-10 26 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 2017-10-05 14:12:24

相關問題