由於@Rutger指出,你可以簡單地使用dropna
:
In [11]: df.dropna(subset=['Value1', 'Value2', 'Value3'])
Out[11]:
Num Date Value1 Value2 Value3
0 1 7/29/11 1 2 3
3 4 7/6/11 -1 0 2
。
最初的辦法,我認爲(這顯然不是最優的),一旦你在閱讀它作爲一個數據幀就可以刪除使用notnull
(您想只保留這些都是notnull
那些行)這些行:
In [21]: df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull)
Out[21]:
Value1 Value2 Value3
0 True True True
1 False True True
2 True False False
3 True True True
In [22]: df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull).all(1)
Out[22]:
0 True
1 False
2 False
3 True
dtype: bool
而且只選擇那些行:
In [23]: df[df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull).all(1)]
Out[23]:
Num Date Value1 Value2 Value3
0 1 7/29/11 1 2 3
3 4 7/6/11 -1 0 2
In [24]: df = df[df.loc[:, ['Value1', 'Value2', 'Value3']].apply(pd.notnull).all(1)]
感謝安迪!這是完美的。 :) –
是不是隻相當於'df.dropna()'?如果您只想將'ValueX'列考慮在內,您可以使用'df.dropna(subset = ['Value1','Value2','Value3'])''。 –