【发布时间】:2016-03-01 14:39:17
【问题描述】:
我正在尝试根据标准(Python 2.7)过滤 Pandas 数据框:
data[data['a']=='bbb']
但系列数据['a'] 中的某些值是 NaN,我收到错误消息:
invalid type comparison.
如何忽略它并将 NaN 视为不符合条件从而将其过滤掉?
谢谢!!
【问题讨论】:
标签: python python-2.7 pandas
我正在尝试根据标准(Python 2.7)过滤 Pandas 数据框:
data[data['a']=='bbb']
但系列数据['a'] 中的某些值是 NaN,我收到错误消息:
invalid type comparison.
如何忽略它并将 NaN 视为不符合条件从而将其过滤掉?
谢谢!!
【问题讨论】:
标签: python python-2.7 pandas
重新分配列类型如下:
df['a'] = df['a'].astype('O')
这应该可以解决问题。
【讨论】:
你可以试试notnull:
data[(data['a']=='bbb') & (data['a'].notnull())]
示例:
print data
a
0 bbb
1 bbb
2 bbb
3 bbb
4 bbb
5 bbb
6 bbb
7 NaN
8 a
9 a
10 bbb
print data[(data['a']=='bbb') & (data['a'].notnull())]
a
0 bbb
1 bbb
2 bbb
3 bbb
4 bbb
5 bbb
6 bbb
10 bbb
【讨论】: