我正在清理 NaN
的数据集以对其运行线性回归,在此过程中,我将一些 NaN
替换为 None
。
执行此操作后,我使用以下代码检查具有 NaN
值的剩余列,其中 houseprice
是数据框的名称
def cols_NaN():
return houseprice.columns[houseprice.isnull().any()].tolist()
print houseprice[cols_NaN()].isnull().sum()
问题是上面的结果还包括 None
值。我想选择那些具有 NaN
值的列。我该怎么做?
最佳答案
我唯一能想到的就是检查元素是否为 float
,因为 np.nan
的类型为 float
并且为 null。
考虑数据框 df
df = pd.DataFrame(dict(A=[1., None, np.nan]), dtype=np.object)
print(df)
A
0 1
1 None
2 NaN
然后我们测试是否 float
和 isnull
df.A.apply(lambda x: isinstance(x, float)) & df.A.isnull()
0 False
1 False
2 True
Name: A, dtype: bool
关于python - 检查 pandas 中的 'None' 值时排除 'NaN',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974408/