df = pd.DataFrame({'year':[2019,2019,2019,2019,2020,2020,2020,2020,2021,2021,2021,2021],'month':[1,2,3,4,1,2,3,4,1,2,3,4],'values':[33,63,24,19,22,30,60,25,23,24,30,80]})
如何计算每年/每月的变化百分比。例如,如果我比较2019年和2020年的第1个月,则结果为:
22/33 = -33%
第一年(2019年)的预期结果应为0,以后各年的预期结果应为增加/减少百分比。
我尝试过groupby变换,但没有得到任何结果。
2条答案
按热度按时间fslejnso1#
您可以每年使用一次偏移。为此,将年份增加1,并将DataFrame与其本身相加
merge
。然后计算百分比变化:输出:
mo49yndu2#
如果稍微修改一下
df
,可以使用pd.pct_change()