Pandas统计指定列空值数量出现KeyError错误求解
错误原因
- 原代码存在两处逻辑错误:
df['account_id'].isnull().sum()和df['customer_id'].isnull().sum()各自返回单列空值的统计结果(整数类型),两个整数做按位或|运算后得到的仍然是整数,不是可用于筛选的布尔索引- 将整数直接传入
df[整数]时,Pandas会尝试匹配列名等于该整数的列,不存在对应列就会抛出KeyError
解决方案
你需要的是分别统计两个指定列的空值总数,直接对目标列执行空值统计求和即可,代码如下:
# 选中指定两列,统计每列空值数量 null_count = df[['account_id', 'customer_id']].isnull().sum() print(null_count)
运行后输出结果和你期望的格式一致:
account_id 3 customer_id 3 dtype: int64
如果需要单独获取两个数值分开使用,可以分开统计:
acc_null = df['account_id'].isnull().sum() cus_null = df['customer_id'].isnull().sum()
内容的提问来源于stack exchange,提问作者adey27
相关产品推荐
相关产品推荐

