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

求助:使用Python Pandas合并重复行并统计报纸数量

解决方法

可以用Pandas的groupby结合agg方法实现需求,具体步骤如下:

步骤1:导入依赖并定义原始数据

import pandas as pd

df = pd.DataFrame({
    'ZIP Code': ['1234','1234', '5678', '9101'],
    'City Name': ['City A', 'City A', 'City B', 'City C'],
    'Newspaper': ['City A News', 'City A Newspaper', 'News for City B', 'C News'],
})

步骤2:分组聚合处理

以ZIP Code和City Name作为分组依据(确保同一城市的行被归为一组),对Newspaper列执行两个操作:

  • 用逗号拼接组内所有报纸名称
  • 统计组内报纸的数量

代码实现:

df_wanted = df.groupby(['ZIP Code', 'City Name'], as_index=False).agg(
    Newspaper=('Newspaper', ', '.join),
    Number_of_Newspapers=('Newspaper', 'count')
)

步骤3:查看结果

运行后得到的df_wanted与需求格式一致:

ZIP Code City Name                          Newspaper  Number_of_Newspapers
0     1234    City A  City A News, City A Newspaper                      2
1     5678    City B                  News for City B                      1
2     9101    City C                          C News                      1

注:你提供的目标DataFrame里City C的Number of Newspapers写为0,这应该是笔误,原数据中它对应1条报纸记录,实际统计结果为1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:12:35