Python 迭代后合并组
我有一个包含国家和年份值的数据框架:Python 迭代后合并组,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我有一个包含国家和年份值的数据框架: country year value US 2000 20 JP 2000 10 AU 2000 5 US 2001 22 JP 2001 12 AU 2001 6 US 2002 23 JP 2002 14 AU 2002 8 我想计算每个国家在不同年份之间的百分比变化,因此我按国家分组并按组迭代: grouped=df.g
country year value
US 2000 20
JP 2000 10
AU 2000 5
US 2001 22
JP 2001 12
AU 2001 6
US 2002 23
JP 2002 14
AU 2002 8
我想计算每个国家在不同年份之间的百分比变化,因此我按国家分组并按组迭代:
grouped=df.groupBy('country')
for group in grouped:
group['pct']=group['value'].pct_change(periods=1)*100
如何从包含新列的“分组”中创建新的数据框
pct
?只需将代码放入函数并使用apply
:
def f(group):
group['pct']=group['value'].pct_change(periods=1)*100
return group
print df.groupby('country').apply(f)
输出:
country year value pct
0 US 2000 20 NaN
1 JP 2000 10 NaN
2 AU 2000 5 NaN
3 US 2001 22 10.000000
4 JP 2001 12 20.000000
5 AU 2001 6 20.000000
6 US 2002 23 4.545455
7 JP 2002 14 16.666667
8 AU 2002 8 33.333333