微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 根据特定列或列中是否存在空值,从DataFrame中选择行

我有一个导入的xls文件作为pandas数据帧,有两列包含坐标,我将用于将数据框与其他具有地理位置数据的数据框合并. df.info()显示8859条记录,坐标列有’8835非null float64’记录.

我想用所有列记录来观察24行(我假设为空)以查看其他列(街道地址镇)之一是否不能用于手动添加这24条记录的坐标. IE浏览器.返回df.[‘Easting’]中列的数据帧,其中isnull或NaN

我改编了下面给出的方法here;

df.loc[df['Easting'] == NaN]

但是回到一个空数据帧(0行×24列),这对我来说毫无意义.尝试使用Null或Non null不起作用,因为未定义这些值.我错过了什么?

解决方法:

我认为你需要isnull来检查boolean indexing的NaN值:

df[df['Easting'].isnull()]

Docs

Warning

One has to be mindful that in python (and numpy), the nan’s don’t compare equal, but None’s do. Note that Pandas/numpy uses the fact that np.nan != np.nan, and treats None like np.nan.

In [11]: None == None
Out[11]: True

In [12]: np.nan == np.nan
Out[12]: False

So as compared to above, a scalar equality comparison versus a None/np.nan doesn’t provide useful @R_614_4045@ion.

In [13]: df2['one'] == np.nan
Out[13]: 
a    False
b    False
c    False
d    False
e    False
f    False
g    False
h    False
Name: one, dtype: bool

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐