gpt4 book ai didi

python - 如何计算两年之间的百分比变化并插入 Pandas 中的新数据帧?

转载 作者:行者123 更新时间:2023-12-04 08:19:27 26 4
gpt4 key购买 nike

我有一个巨大的数据框,看起来像这样:

year    country     population  
1971 Afghanistan 11500000
1972 Afghanistan 11800000
1973 Afghanistan 12100000
1974 Afghanistan 12400000
1975 Afghanistan 12700000
我想创建一个新的 DataFrame 来计算每十年按国家分组的人口百分比差异
country      1971-1980   1981-1990 1991-2000 2001-2010
Afghanistan -- -- -- --
Australia -- -- -- --
需要一些帮助来了解如何做到这一点。任何帮助,将不胜感激。

最佳答案

您可以创建十年列,然后使用 DataFrame.pivot_table sum并添加 DataFrame.pct_change :

d = df['year'] // 10 * 10
df['dec'] = (d + 1).astype(str) + '-' + (d + 10).astype(str)
另一个想法 cut :
bins = range(df['year'].min(), df['year'].max() + 10, 10)
labels = [f'{i}-{j-1}' for i, j in zip(bins[:-1], bins[1:])]

df['dec'] = pd.cut(df.year, bins=bins, labels=labels, include_lowest=True)
df1 = (df.pivot_table(index='country', 
columns='dec',
values='population',
aggfunc='sum')
.pct_change(axis=1))

关于python - 如何计算两年之间的百分比变化并插入 Pandas 中的新数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65558505/

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