在 Pandas 数据框中使用 python 的 CAGR 输出不正确

Incorrect CAGR output using python in a Pandas dataframe

很抱歉,如果这是一个简单的修复,但我无法弄清楚我的问题出在哪里 - 我是一个相对较新的程序员,并且试图在其他地方找到解决方案但没有成功。

问题: 我正在尝试在 Pandas Dataframe 中计算 CAGR,但结果指标与 excel 中的计算输出以及第三方检查不匹配。

Dataframe:简单的国家列表(行。例如'Afghanistan','Albania',..)和年份列表(cols . 例如 '1913', '1914'...) GDP 在 table

的正文中

代码:

    df_gdp['CAGR'] = ((df_gdp['2013']/df_gdp['1913'])**(1/(100)-1)*100)

结果:

我在最后的一列中添加了 excel 显示差异的计算结果。事实上,即使是前两行(阿富汗+阿尔巴尼亚),CAGR 计算看起来也不正确,因为很明显阿尔巴尼亚的增长超过阿富汗

                1913            2013            CAGR        Excel
    country             
    Afghanistan 4,920,000,000   65,800,000,000  7.673647    2.627
    Albania     1,470,000,000   30,700,000,000  4.936023    3.086
    Algeria     22,600,000,000  479,000,000,000 4.864466    3.101
    Angola      3,230,000,000   152,000,000,000 2.208439    3.927
    

问题出在 () 的公式中:

df_gdp['CAGR1'] = ((df_gdp['2013']/df_gdp['1913'])**(1/100)-1) * 100
print (df_gdp)
                    1913          2013      CAGR  Excel     CAGR1
Afghanistan   4920000000   65800000000  7.673647  2.627  2.627230
Albania       1470000000   30700000000  4.936023  3.086  3.085649
Algeria      22600000000  479000000000  4.864466  3.101  3.100856
Angola        3230000000  152000000000  2.208439  3.927  3.926526