减去索引数据框中的行

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