pandas读取excel统计空值数量错误的解决方法
问题: pd.read_excel()读取excel数据后,用pd.isnull().sum()统计空值数量不对,代码如下
1 2 3 4 5 6 | import pandas as pd df = pd.read_excel('test.xlsx',dtype=str) # 剔除空格 df = df.applymap(lambda x : str(x).strip()) print("b列为空的个数为"+ str(pd.isnull(df['b']).sum())) # 打印出来b列中为空的是0个 |
excel数据长这样,B2是一个空格,希望得到空值为2的结果
问题分析:
读取excel后的df是这样
使用applymap剔除空格后的df是这样
读取excel后的df的值(df.values)
使用applymap剔除空格后的df的值(df.values)
可以看到,在applymap方法处理后
值values的变化:一个空格变成了’’,之前的nan变成了’nan’(这里是字符串nan,当然不为空)
pd.isnull()只会统计NaN的数量,一个是字符串’‘,一个是字符串’nan’,因此都统计不到
解决: 将’'和’nan’全部替换为np.nan,isnull就可以统计到
1 2 3 4 5 6 7 8 9 | import numpy as np import pandas as pd df = pd.read_excel( 'test.xlsx' ,dtype = str ) # 剔除空格 df = df.applymap( lambda x : str (x).strip()) df[df = = ''] = np.nan df[df = = 'nan' ] = np.nan print ( "b列为空的个数为" + str (pd.isnull(df[ 'b' ]). sum ())) # 打印出来b列中为空的是2个 |
到此这篇关于pandas读取excel统计空值数量错误的解决方法的文章就介绍到这了,更多相关pandas读取excel空值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
Python 列表中的删除操作之del、remove 和 pop 的区别
在Python中,列表(list)是一种非常灵活的数据结构,它允许我们存储一系列的元素,在删除元素时,我们可以使用三种不同的方法:del、remove 和 pop,每种方法都有其特定的用途和行为,了解它们的区别可以帮助我们更有效地使用列表,感兴趣的朋友跟随小编一起看看吧2024-05-05
最新评论