减去索引数据框中的行
Subtract rows in indexed dataframe
我目前正在使用这个数据框。它按年份和国家索引。我想做的是减去 2011 年 "military_exp" 的值和 2010 年 "military_exp" 的值。有没有办法做到这一点?
gdp_share military_exp
year Country
2010 USA 5.0 768465792.0
China 2.0 138028416.0
Korea 3.0 31117330.0
Russia 4.0 43120560.0
2011 USA 5.0 758988352.0
China 2.0 149022400.0
Korea 3.0 31543720.0
Russia 3.0 46022120.0
IIUC
df.groupby(level=1)['military_exp'].diff()
Out[195]:
year Country
2010 USA NaN
China NaN
Korea NaN
Russia NaN
2011 USA -9477440.0
China 10993984.0
Korea 426390.0
Russia 2901560.0
Name: military_exp, dtype: float64
更新
df.loc[2011,'military_exp']-df.loc[2010,'military_exp']
Out[197]:
Country
USA -9477440.0
China 10993984.0
Korea 426390.0
Russia 2901560.0
Name: military_exp, dtype: float64
我目前正在使用这个数据框。它按年份和国家索引。我想做的是减去 2011 年 "military_exp" 的值和 2010 年 "military_exp" 的值。有没有办法做到这一点?
gdp_share military_exp
year Country
2010 USA 5.0 768465792.0
China 2.0 138028416.0
Korea 3.0 31117330.0
Russia 4.0 43120560.0
2011 USA 5.0 758988352.0
China 2.0 149022400.0
Korea 3.0 31543720.0
Russia 3.0 46022120.0
IIUC
df.groupby(level=1)['military_exp'].diff()
Out[195]:
year Country
2010 USA NaN
China NaN
Korea NaN
Russia NaN
2011 USA -9477440.0
China 10993984.0
Korea 426390.0
Russia 2901560.0
Name: military_exp, dtype: float64
更新
df.loc[2011,'military_exp']-df.loc[2010,'military_exp']
Out[197]:
Country
USA -9477440.0
China 10993984.0
Korea 426390.0
Russia 2901560.0
Name: military_exp, dtype: float64