我有一个df
我想过滤不同季度的百分比变化和总变化。
我不确定如何在python中启动它,将不胜感激。
考虑到我有很多Name参数。我需要针对每个KPI,YEAR和Quarter使用分组过滤器,我尝试过
d2['d'] = d2.groupby(['KPI', 'Quarter', ])['Number'].apply( lambda x: (x - x.shift(4))/x )
答案 0 :(得分:1)
每组使用Series,pct_change
,乘以mul
,并在必要时使用round
:
d2['Percent Change'] = (d2.groupby(['KPI', 'Quarter'])['Number']
.transform(pd.Series.pct_change)
.mul(100)
.round())
要进行总更改,请添加cumsum
d2['Total Change'] = d2['Number'].pct_change().cumsum().mul(100).round().fillna(0)