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

Pandas按列分组如何统计列唯一值数量并生成唯一值分隔列表

你可以在groupby的agg聚合方法中同时定义两个聚合规则,一次计算得到两个目标字段,不需要分开两次分组处理,实现代码如下:

import pandas as pd

companies = ['Microsoft', 'Google', 'Amazon', 'Microsoft', 'Facebook', 'Google', 'Microsoft', 'Google']
products = ['OS', 'Search', 'E-comm', 'X-box', 'Social Media', 'Android', 'OS', 'Search']
df = pd.DataFrame({'company' : companies, 'product':products })

# 单次分组聚合实现需求
result = df.groupby('company', as_index=False)['product'].agg(
    product = lambda x: list(x.unique()), # 生成分组唯一值列表
    count = lambda x: x.nunique() # 统计分组唯一值数量
)
print(result)

运行上述代码就能直接得到你期望的输出结果。

如果你需要product字段为逗号分隔的字符串而非列表,只需要修改对应的聚合逻辑即可:

result = df.groupby('company', as_index=False)['product'].agg(
    product = lambda x: ', '.join(x.unique()),
    count = lambda x: x.nunique()
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:15:04