[英]Pandas pivot_table calculate running index
我有一个DataFrame
import pandas as pd
df = pd.DataFrame({
'PART_UNIT': ['A','A','A','A','A'],
'FiscalYear': ['2015/2016','2016/2017','2017/2018','2018/2019','2019/2020'],
'BUY_UNIT_PRICE': [30,32,33,31,35]
})
我已经转换成数据透视表
pivot = df.pivot_table(index='PART_UNIT', columns='FiscalYear', values='BUY_UNIT_PRICE', aggfunc='mean')
print(pivot)
FiscalYear 2015/2016 2016/2017 2017/2018 2018/2019 2019/2020
PART_UNIT
A 30 32 33 31 35
我正在寻求帮助以确定每年的发展情况
我希望此示例数据的输出是
FiscalYear 2015/2016 2016/2017 2017/2018 2018/2019 2019/2020
PART_UNIT
A 100 106.67 103,13 93,94 112,9
我将如何在Pandas中做到这一点?
我需要的功能与excel数据透视表中的功能相同,您可以在其中选择“将值显示为上一年的百分比”
您可以在axis=1
执行pct_change()
,然后multiply
100,最后add
100以匹配预期的输出:
m=(df.pivot_table(index='PART_UNIT', columns='FiscalYear',
values='BUY_UNIT_PRICE', aggfunc='mean'))
m.pct_change(axis=1).mul(100).add(100,fill_value=0)
FiscalYear 2015/2016 2016/2017 2017/2018 2018/2019 2019/2020
PART_UNIT
A 100.0 106.666667 103.125 93.939394 112.903226
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.