我想知道如何删除具有负值但保留NaN的行。目前我正在使用:
DF = DF.ix[DF['RAF01Time'] >= 0]
但这会移除NaN。
提前致谢。
答案 0 :(得分:2)
boolean indexing
需要isnull
另一个条件:
DF = DF[(DF['RAF01Time'] >= 0) | (DF['RAF01Time'].isnull())]
样品:
DF = pd.DataFrame({'RAF01Time':[-1,2,3,np.nan]})
print (DF)
RAF01Time
0 -1.0
1 2.0
2 3.0
3 NaN
DF = DF[(DF['RAF01Time'] >= 0) | (DF['RAF01Time'].isnull())]
print (DF)
RAF01Time
1 2.0
2 3.0
3 NaN
query
的另一个解决方案:
DF = DF.query("~(RAF01Time < 0)")
print (DF)
RAF01Time
1 2.0
2 3.0
3 NaN
答案 1 :(得分:0)
您可以使用< 0
,然后采用条件的反转。
DF = DF[~(DF['RAF01Time'] < 0)]