【发布时间】:2018-08-13 20:44:30
【问题描述】:
我已经创建了一个这样的数据框:
A B
0 aa 1
1 bb 2
2 cc 3
3 dd 1
4 ee 1
然后我用这一行插入了一个标签:
df['label']= np.where((df['B']>2),'start',np.NaN)
结果是
A B label
0 aa 1 nan
1 bb 2 nan
2 cc 3 start
3 dd 1 nan
4 ee 1 nan
这是相当直截了当的。但是,当我尝试反查我的表时,我无法获得“nan”行。
df[(df.label.isnull())]
Empty DataFrame
Columns: [A, B, label]
Index: []
df[(df.label.isna())]
Empty DataFrame
Columns: [A, B, label]
Index: []
df[(df.label == np.nan)]
Empty DataFrame
Columns: [A, B, label]
Index: []
我只使用这个来获取 nan 行:
df[(df.label == 'nan')]
A B label
0 aa 1 nan
1 bb 2 nan
3 dd 1 nan
4 ee 1 nan
我错误地将空值设置为字符串值“nan”是不是做错了什么?谢谢。
【问题讨论】:
标签: pandas dataframe filter nan