我有一个带有这样一列的数据框:
>>> df['Level'] = df.Level.replace('-',0).astype('int64')
>>> df
Level
0 1
1 -2
2 0
3 2
>>> df['Level'].dtypes
dtype('int64')
我想用False代替NaN,用True代替所有浮点数。
df['test'] = [NaN, 1.0, NaN, NaN, NaN, 13.0]
我尝试过:
[False, True, False, False, False, True]
问题:这可以正确替换NaN,但不能浮动。
有人可以帮我吗?谢谢!
答案 0 :(得分:4)
您可以使用.notna()
方法
df['test'].notna()
答案 1 :(得分:1)
您在这里。不是最佳答案,而是其中一种方法。
>>> df
test
0 NaN
1 1.0
2 NaN
3 NaN
4 NaN
5 13.0
>>> df.apply(lambda x: pd.notna(x))
test
0 False
1 True
2 False
3 False
4 False
5 True
>>>