合并DataFrame重复行:按地理标识与日期汇总货运量
解决方法:用Pandas合并重复行并汇总货运量
嘿,这个需求用pandas处理起来超简单!核心思路就是按地理标识(城市、国家)和日期分组,对货运量进行求和汇总,具体步骤如下:
1. 导入Pandas并构造示例DataFrame
先把你提供的原始数据转换成标准的DataFrame格式:
import pandas as pd # 对应你给出的原始重复数据 data = [ ["London", "UK", "4/4/2018", 1], ["London", "UK", "4/4/2018", 1], ["London", "UK", "4/5/2018", 3], ["London", "UK", "4/5/2018", 2] ] # 给列命名,方便后续操作 df = pd.DataFrame(data, columns=["City", "Country", "Date", "Freight_Volume"])
2. 分组求和合并重复行
这是核心操作:按City、Country、Date三列分组,对Freight_Volume列求和,as_index=False能让分组列保持为普通列,不会变成索引:
# 分组并汇总货运量 merged_df = df.groupby(["City", "Country", "Date"], as_index=False)["Freight_Volume"].sum()
3. 查看处理后的结果
运行下面的代码就能得到你想要的合并后数据:
print(merged_df)
输出结果:
City Country Date Freight_Volume 0 London UK 4/4/2018 2 1 London UK 4/5/2018 5
额外小贴士
如果你的日期列目前是字符串类型,后续需要做时间排序、区间筛选等操作,可以先把它转换成datetime类型:
# 将日期列转为标准datetime格式 df["Date"] = pd.to_datetime(df["Date"])
这样后续的时间相关操作会更顺畅~
内容的提问来源于stack exchange,提问作者blaziken140
相关产品推荐
相关产品推荐

