如何在Pandas中对DataFrame分组并将同组Country合并至单个单元格
Pandas分组合并列值实现方案
完全可以实现这个需求,用Pandas的groupby搭配聚合操作就能轻松搞定,具体步骤如下:
1. 构造示例数据
import pandas as pd data = { 'Brand': ['IPhone', 'IPhone', 'IPhone', 'IPhone', 'IPhone', 'IPhone'], 'Model': [6, 7, 6, 7, 6, 7], 'Country': ['UK', 'DE', 'US', 'FR', 'IT', 'NL'] } df = pd.DataFrame(data)
2. 分组合并操作
# 按Brand和Model分组,将同组的Country用" - "连接 result_df = df.groupby(['Brand', 'Model'])['Country'].agg(' - '.join).reset_index()
3. 最终结果
运行代码后,result_df会输出你想要的结构:
| Brand | Model | Country |
|---|---|---|
| IPhone | 6 | UK - US - IT |
| IPhone | 7 | DE - FR - NL |
简单说明:groupby(['Brand', 'Model'])指定分组的依据列,agg(' - '.join)对每个分组内的Country值执行字符串拼接,reset_index()把分组后的索引重新转为普通列,保证结果结构和原DataFrame匹配。
内容的提问来源于stack exchange,提问作者Yasser
相关产品推荐
相关产品推荐

