gpt4 book ai didi

python - 重命名列的条目,然后在 pandas 中重命名 groupby

转载 作者:行者123 更新时间:2023-11-30 22:32:14 29 4
gpt4 key购买 nike

假设我有两个名为“country_to_country”和“country_area_mapping”的数据框,如下所示。

>>> country_to_country
From To Volume
0 c1 c4 10
1 c2 c5 20
2 c3 c6 30

>>> country_area_mapping
Country Area
0 c1 a1
1 c2 a2
2 c3 a1
3 c4 a2
4 c5 a1
5 c6 a2

预期输出为:

  From  To  Volume
0 a2 a1 40
1 a2 a1 20

其中国家/地区名称应替换为相应的区域,然后使用数量列上的总和对表格进行分组。

我的方法是对“From”列使用“merge”两次,然后将结果合并到“To”列。最后,应用“groupby”对相同的“从-到”区域体积进行求和。然而,我觉得有一个更短的方法可以做到这一点。有什么替代方案的建议吗?

最佳答案

您可以使用DataFrame.replaceSeries 然后 groupby聚合 sum:

s = country_area_mapping.set_index('Country')['Area']
df = country_to_country.replace({'From':s, 'To':s})
.groupby(['From','To'], as_index=False)['Volume'].sum()
print (df)
From To Volume
0 a1 a2 40
1 a2 a1 20

关于python - 重命名列的条目,然后在 pandas 中重命名 groupby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45540150/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com