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

如何在Pandas中合并同城市行并累加driver_count字段值?

解决方法:分组聚合合并重复城市记录

嘿,这个场景太常见了,咱们用pandas的分组聚合功能就能完美解决!

你的需求核心是按city分组,对重复行的driver_count求和,同时保留type字段(因为两行的type一致),具体实现代码如下:

# 执行分组聚合操作
merged_city_data = cityData_df.groupby('city').agg(
    driver_count=('driver_count', 'sum'),  # 对driver_count求和
    type=('type', 'first')                # 取type的第一个值(两行值相同,取last也可以)
).reset_index()  # 将city从索引重新转为普通列

代码细节解释:

  • groupby('city'):把数据按city字段分组,相同城市的行会被自动归为一组
  • agg():自定义每个字段的聚合规则:
    • 对driver_count用sum函数求和,刚好把15和3累加得到18
    • 对type用first取第一个值(因为你的两行type都是Suburban,用last结果也完全一致)
  • reset_index():默认分组后city会变成数据框的索引,用这个方法把它变回普通列,最终结构和原数据框保持一致

执行完这段代码后,merged_city_data里的Port James就只有一条记录,driver_count为18,type也保留了Suburban,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:21:25