gpt4 book ai didi

python - 涉及两个不同数据帧之间的复合增长率的棘手情况

转载 作者:行者123 更新时间:2023-11-28 17:04:09 25 4
gpt4 key购买 nike

我希望计算人口普查年份(2011 年、2016 年)之间的复合年增长率,并使用该增长率来推断中间年份的数字。

例如

df_2011.head()
Age Census_Tract_001 Census_Tract_002
0 100 600



df_2016.head()
Age Census_Tract_001 Census_Tract_002
0 400 360

然后计算2011年到2016年的CAGR

Age      Census_Tract_001   Census_Tract_002
0 .3195 -.0971

将 CAGR 应用于中间的每一年

创建 df_2012

 Age      Census_Tract_001   Census_Tract_002
0 131.95 541.74

创建 df_2013

 Age      Census_Tract_001   Census_Tract_002
0 174.108 489.137

创建 df_2014

 Age      Census_Tract_001   Census_Tract_002
0 229.7355 441.6418

创建 df_2015

 Age      Census_Tract_001   Census_Tract_002
0 303.136 398.7584

我的尝试

我厌倦了做以下事情年数纽约州 = 5

当前营业额pt = ?

过去的营业额ppt = ?

m =(pt/ppt)

AGR = 年增长率agr = float((m**1/ny)-1)*100

我厌倦了这样做几个小时,但如果我做不到,我将只引用 excel 中的单元格来计算,遗憾的是......

最佳答案

您可以通过应用公式直接找到 CAGR

cagr = (df2/df)**(1/5) - 1

Age Census_Tract_001 Census_Tract_002
0 NaN 0.319508 -0.09712

要在 df 之间找到,定义一个函数

f = lambda c: c + c*cagr

并通过使用函数组合调用它来组合它

>>> f(df)
Age Census_Tract_001 Census_Tract_002
0 NaN 131.950791 541.728271

>>> f(f(df))
Age Census_Tract_001 Census_Tract_002
0 NaN 174.110113 489.115866

关于python - 涉及两个不同数据帧之间的复合增长率的棘手情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52338342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com