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

Pandas groupby操作如何同时展示唯一值数量和唯一值本身?

实现方法

你不需要分开做两次groupby再合并,直接在一次聚合操作中指定多个规则即可,代码如下:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame([
    ('a', 'aa'),
    ('b', 'aa'),
    ('c', 'bb'),
    ('d', 'bb'),
    ('e', 'cc'),
    ('f', 'cc'),
    ('h', 'cc')
], columns=['group', 'id'])

# 单次groupby同时统计两个指标
res = df.groupby('id')['group'].agg(
    count='nunique',
    values='unique'
).reset_index()

print(res)

输出结果完全符合你的预期:

id  count     values
0  aa      2     [a, b]
1  bb      2     [c, d]
2  cc      3  [e, f, h]

补充说明

如果你使用的pandas版本较低,不支持关键字参数自定义聚合列名,可以改用元组传参的写法:

res = df.groupby('id')['group'].agg([
    ('count', 'nunique'),
    ('values', 'unique')
]).reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:06:04