【发布时间】:2017-03-07 19:54:54
【问题描述】:
如何选择 DataFrame 的列中值为 none 的那些行?
我已将这些编码为np.nan,无法匹配此类型。
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: df = pd.DataFrame([[1, 2, 3], [3, 4, None]])
In [4]: df
Out[4]:
0 1 2
0 1 2 3.0
1 3 4 NaN
In [5]: df = df.fillna(np.nan)
In [6]: df
Out[6]:
0 1 2
0 1 2 3.0
1 3 4 NaN
In [7]: df.iloc[1][2]
Out[7]: nan
In [8]: df.iloc[1][2] == np.nan
Out[8]: False
In [9]: df[df[2] == None]
Out[9]:
Empty DataFrame
Columns: [0, 1, 2]
Index: []
【问题讨论】:
-
df[df[2].isnull()] -
谢谢。很抱歉被骗了。在搜索中找不到我需要的东西。为什么我不能使用
df[df[2] == None]?为什么在我使用 fillna(np.nan) 对 NaN 进行编码后,np.nan 与自身不匹配? -
你可以找到答案here。而
fillna(np.nan)将用 NaN 替换 NaN ;)