我有一个带有变量的pandas数据帧,当我打印它时,它显示为主要包含NaN。它是dtype对象。但是,当我运行isnull函数时,它返回" FALSE"到处。我想知道为什么NaN值没有被编码为缺失,并且如果有任何方法将它们转换为正确处理的缺失值。
谢谢。
答案 0 :(得分:2)
您的NaN
是字符串
df = pd.DataFrame(dict(A=['Not NaN', 'NaN', np.nan]))
print(df)
A
0 Not NaN
1 NaN
2 NaN
缺少什么
print(df.isnull())
A
0 False
1 False
2 True
字符串不会丢失,np.nan
是。
您可以使用
mask
字符串
df.A.mask(df.A.eq('NaN')).isnull()
0 False
1 True
2 True
Name: A, dtype: bool
答案 1 :(得分:-1)
在piRSquared的基础上,处理NaN值的一种可能方法(如果适用于您的问题)是将NaN输入转换为列的中位数。
df = df.fillna(df.mean())