两个不同数据帧之间的复合增长率是一个棘手的问题

2024-05-08 17:27:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望计算两个人口普查年(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年的复合年增长率

Age      Census_Tract_001   Census_Tract_002
0        .3195              -.0971 

将复合年增长率应用于中间各年

创建df\ U 2012

 Age      Census_Tract_001   Census_Tract_002
 0        131.95             541.74

创建df\ U 2013

 Age      Census_Tract_001   Census_Tract_002
 0        174.108             489.137

创建df\ U 2014

 Age      Census_Tract_001   Census_Tract_002
 0        229.7355           441.6418

创建df\ U 2015

 Age      Census_Tract_001   Census_Tract_002
 0        303.136           398.7584

我的尝试

我厌倦了做下面的事 年数 纽约=5

当前营业额 pt=?你知道吗

过去营业额 ppt=?你知道吗

m=(pt/ppt)

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

我累了,做了几个小时,但如果我不能,我只会在excel中引用单元格计算,可悲的是。。。你知道吗


Tags: ptdfage数字head人口普查censusppt
1条回答
网友
1楼 · 发布于 2024-05-08 17:27:31

你可以通过公式直接找到复合年增长率

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

相关问题 更多 >

    热门问题