gpt4 book ai didi

python - 在 python 中的 pandas 数据框上从 groupby 中选择索引值

转载 作者:行者123 更新时间:2023-11-28 20:58:53 27 4
gpt4 key购买 nike

我有以下数据框:

df = pd.DataFrame({'place'     : ['A', 'B', 'C', 'D', 'E', 'F'],
'population': [10 , 20, 30, 15, 25, 35],
'region': ['I', 'II', 'III', 'I', 'II', 'III']})

它看起来像这样:

      place  population region
0 A 10 I
1 B 20 II
2 C 30 III
3 D 15 I
4 E 25 II
5 F 35 III

我想从人口最多的地区中选择人口最少的地方。

df.groupby('region').population.sum()

返回:

region
I 25
II 45
III 65
Name: population, dtype: int64

但我不知道如何从这里开始(使用 .groupby/.loc/.iloc)

有什么建议吗?

最佳答案

首先为区域人口添加一列:

df['region_pop'] = df.groupby('region')['population'].transform(sum)

然后对数据框进行排序并提取第一行:

res = df.sort_values(['region_pop', 'population'], ascending=[False, True])\
.head(1)

结果:

  place  population region  region_pop
2 C 30 III 65

关于python - 在 python 中的 pandas 数据框上从 groupby 中选择索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951027/

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