在多索引数据框上生成新列

时间:2020-07-04 03:03:18

标签: pandas dataframe multi-index

我有使用Pivot实现的数据框

df.pivot_table(index=('country','city'), columns="year", values="values",\
aggfunc=np.sum)

               year     2000    2018
country        city
 USA         W, D.C       5       10
                NYC      11       20 

 X            alpha       5        1
               beta       0        2 

我想创建一个新列,该列将具有2000和2018列中值的差异 像这样:

               year     2000    2018    Diff 
country        city
 USA         W, D.C       5       10      -5
                NYC      11       20      -9

 X            alpha       5        1       4
               beta       0        2      -2

但是,我无法访问这些列并无法执行任何操作!

1 个答案:

答案 0 :(得分:0)

您可以通过以下代码进行区分:

df.columns = ['2000', '2018']
df['Diff'] = df['2000'] - df['2018']