我目前有一个列Outliers
的df。当我这样做的时候:
df.Outliers.value_counts(dropna = False)
我:
NaN 2862
1.0 600
0.0 257
但是,当我尝试只显示这些行时:
df.loc[df.Outliers == np.nan] # numpy was imported as np
得到0行的输出。为什么NaN行不能被识别为NaN?我已经验证了这些NaN值的类型为numpy.float64
,因此它们不是需要转换的字符串。为什么他们有时不被认为是nan ?
Pandas有时在使用np.nan
时需要帮助,因为它并不总是被正确识别。但是,您可以使用isna()
查找包含nan
df = pd.DataFrame({
'Column1' : [np.nan, 2, 3, 4],
'Column2' : [1, np.nan, 3, np.nan]
})
df.loc[df['Column1'].isna()]