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