Python统计含缺失值的行数失败,请求技术协助
求助:Python统计含缺失值行数结果与Excel不符
- 问题:Excel中统计到含缺失值的行数为156行,但用Python代码无法得到对应结果,恳请帮忙排查原因。
- 补充:Excel数据存在部分字段缺失,IDE中编写了多段代码尝试统计,但均未得到正确结果。
所用Python代码
# 方法1:标记每行是否有缺失后统计行数 (kidney_df.isna().sum(axis=1) > 0).sum() # 方法2:循环统计每行缺失值数量大于0的行数 count=0 for i in kidney_df.isnull().sum(axis=1): if i>0: count=count+1 # 方法3:统计所有缺失值的总个数 kidney_df.isna().sum().sum()
排查方向参考
- 数据读取规则问题:pandas默认仅识别
np.nan为缺失值,但Excel中的缺失可能是空字符串、空格、"NA"这类文本,读取时需指定识别规则:import pandas as pd import numpy as np kidney_df = pd.read_excel("你的文件路径.xlsx", na_values=["", "NA", "N/A", " "]) - 数据行一致性检查:确认Python读取的总行数与Excel一致,是否存在漏读表头、多读取空行,或Excel隐藏行未被读取的情况。
- 缺失值定义差异:Excel可能将空格单元格视为缺失,但pandas不会,可先清洗数据将空格转为缺失值:
kidney_df = kidney_df.replace(r'^\s*$', np.nan, regex=True) - 代码逻辑区分:第三行代码
kidney_df.isna().sum().sum()统计的是所有缺失值的总个数,并非含缺失值的行数,和Excel的统计维度完全不同,不要混淆。
内容的提问来源于stack exchange,提问作者070701
相关产品推荐
相关产品推荐

