You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas统计多列Excel数据的填充/未填充单元格数量

问题解决:Excel填充状态统计

原始数据

我有一份处理后的Excel数据,规则为:1代表已填充单元格,0代表未填充单元格,具体数据如下:

列A列B列C列D
1010
1110
0010
0010

期望汇总结果

需要得到按列统计的已填充/未填充数量:

已填充未填充
列A22
列B13
列C40
列D04

原代码问题

你尝试的代码存在核心逻辑错误:

  • 错误使用groupby对所有列分组,这是按行的组合进行聚合,并非我们需要的按列统计
  • pd.NamedAgg的column参数不能传入多列列表,语法不符合Pandas规范

正确实现代码

假设你的DataFrame变量名为df2,可以用两种简洁方式实现:

方式一:直接构造统计结果

# 直接对每列统计已填充(1的总和)和未填充(0的总和)
summary_new = pd.DataFrame({
    '已填充': df2.sum(),
    '未填充': df2.eq(0).sum()
}).reset_index().rename(columns={'index': ''})

方式二:使用agg批量统计

# 用agg批量应用统计函数,转置后调整格式
summary_new = df2.agg([
    ('已填充', lambda x: x.eq(1).sum()),
    ('未填充', lambda x: x.eq(0).sum())
]).T.reset_index().rename(columns={'index': ''})

代码说明

  1. df2.sum():直接计算每列中1的总数(1代表已填充,求和即对应数量)
  2. df2.eq(0).sum():筛选出值为0的单元格后求和,得到未填充数量
  3. reset_index()+rename:将原列名转为表格第一列,匹配期望的输出格式

内容的提问来源于stack exchange,提问作者TonnyM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:47:05