我正在使用 pandas 中的多索引(国家、年份)数据框,其中包含按当前价格以当地货币单位表示的 GDP 数据,例如
gdp
country year
AUS 2013 274865000000
2012 269562000000
2011 251727000000
2010 233604000000
2009 221002000000
2008 202260000000
USA 2013 2550000000000
... ...
我想创建一个包含以 2010 年为基准年的 GDP 平减指数的新列,例如
gdp gdpdef
country year
AUS 2013 274865000000 1.18
2012 269562000000 1.15
2011 251727000000 1.08
2010 233604000000 1.00
2009 221002000000 0.95
2008 202260000000 0.87
USA 2013 2550000000000 1.01
... ... ...
2010 2520000000000 1
.... ... ...
其中,明确地说,“gdpdef”中的每个条目都是由国家 i 在 t 年的 GDP 与国家 i 在 2010 年的 GDP 的比率给出的。
对于具有单一指数(年份)的单一国家,我能够通过以下方式实现这一目标:
base_year = df.get_value(2010, "gdp")
df["gdpdef"] = df["gdp"].div(base_year)
但是,我在以简洁的方式在两个指数(国家、年份)上复制此操作时遇到了很多麻烦。非常感谢为此提供的任何帮助。