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

在数据帧中使用python的CAGR输出不正确,python,pandas,finance,Python,Pandas,Finance,如果这是一个简单的解决方法,我很抱歉,但我不知道我的问题在哪里-我是一个相对较新的程序员,并试图在其他地方找到解决方案,但没有运气 问题: 我试图在Pandas数据框中计算复合年增长率,但结果指标与excel中的计算输出不匹配,也与第三方检查不匹配 数据框架:仅列出国家(如“阿富汗”、“阿尔巴尼亚”等行)和年份(如“1913”、“1914”等列),并在表格正文中列出GDP 代码: df_gdp['CAGR'] = ((df_gdp['2013']/df_gdp['1913'])**(1/

如果这是一个简单的解决方法,我很抱歉,但我不知道我的问题在哪里-我是一个相对较新的程序员,并试图在其他地方找到解决方案,但没有运气

问题: 我试图在Pandas数据框中计算复合年增长率,但结果指标与excel中的计算输出不匹配,也与第三方检查不匹配

数据框架:仅列出国家(如“阿富汗”、“阿尔巴尼亚”等行)和年份(如“1913”、“1914”等列),并在表格正文中列出GDP

代码

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

    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
问题出现在公式中的
()

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

你到底是怎么这么快就做到的!!!非常感谢。你到底是怎么这么快就做到的!!!非常感谢。