热线电话:13121318867

登录
2021-03-09 阅读量: 17225
老师,请教下,总增量是负数时,怎么计算各部分的增量贡献占比?

老师,请教下,总增量是负数时,怎么计算各部分的增量贡献占比?

下面先说一个总增量为正的例子

import pandas as pd

import numpy as np

data1=pd.DataFrame({"aa2019":[7,9,10,6],"aa2020":[8,15,7,3]},index=["part1","part2","part3","part4"])

data1["增长量"]=data1["aa2020"]-data1["aa2019"]

data1["变化总额"]=data1["增长量"].sum()

#计算对于增长的贡献率

data1["贡献率"]=data1["增长量"]/data1["变化总额"]

9.png



如果总增量是负的,计算贡献率的时候可以是各个部分的增长量除以变化总额的绝对值

import pandas as pd

import numpy as np

data1=pd.DataFrame({"aa2019":[7,9,10,6],"aa2020":[8,12,5,3]},index=["part1","part2","part3","part4"])

data1["增长量"]=data1["aa2020"]-data1["aa2019"]

data1["变化总额"]=data1["增长量"].sum()

data1["变化总额绝对值"]=data1["变化总额"].map(lambda x:abs(x))

#计算对于增长的贡献率

data1["贡献率"]=data1["增长量"]/data1["变化总额绝对值"]

4.png

可以看到我们贡献率总额是负的,因为我们的结果是负增长的,这个时候不是讨论谁有功了,而是看谁的过最大

1.7111
1
关注作者
收藏
评论(1)

发表评论
wangxishi
2021-03-10

谢谢老师,讲的很明白!

0.0000 0 0 回复