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

如何在pandas DataFrame中实现转置及分组统计生成用户汇总表

你当前代码的问题是将status也放入了分组键,会导致同一个id的不同状态被拆分为多行,不符合你的汇总需求。可以通过groupby.agg()为不同字段指定自定义聚合规则实现需求,完整代码如下:

import pandas as pd

# 你自己的df构造逻辑保持不变
# 核心聚合逻辑
df_summary = df.groupby(['id', 'emailaddress', 'ownername'], as_index=False).agg(
    # 聚合status:只要存在pending就返回pending
    status=('status', lambda x: 'pending' if (x == 'pending').any() else 'submitted'),
    # 统计该id总Key数
    TotalKey=('Key', 'count'),
    # 统计状态为submitted的Key数
    CompletedKey=('status', lambda x: (x == 'submitted').sum())
)
# 计算剩余Key数
df_summary['RemainingKey'] = df_summary['TotalKey'] - df_summary['CompletedKey']

运行后得到的df_summary就和你期望的输出格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:36:01