【发布时间】:2015-12-13 21:25:23
【问题描述】:
我有一个这样的数据框:
cols = [ 'a','b']
df = pd.DataFrame(data=[[NaN, -1, NaN, 34],[-32, 1, -4, NaN],[4,5,41,14],[3, NaN, 1, NaN]], columns=['a', 'b', 'c', 'd'])
我想检索所有行,当列“a”和“b”为非负数但如果其中任何一个或全部丢失时,我想保留它们。
结果应该是
a b c d
2 4 5 41 14
3 3 NaN 1 NaN
我已经尝试过了,但它没有给出预期的结果。
df[(df[cols]>0).all(axis=1) | df[cols].isnull().any(axis=1)]
【问题讨论】: