我想在多索引数据透视表上创建一列,该列采用最后两列的差值(即2017-2016)。 我也想按列号引用年份列,因为这些年份在将来会改变
sub("^\\S+\\s+", '', dataframe$Last_Modified)
新表应如下所示
raw_data = {'year': [2016,2016,2017,2017],
'month':[1,2,3,4],
'area': ['A','B','A','B'],
'age': [10,12,50,52]}
df1 = pd.DataFrame(raw_data, columns = ['year','area','month','age'])
table=pd.pivot_table(df1,index='area','month'],columns='year',values='age',aggfunc='sum').fillna(0)
答案 0 :(得分:1)
减去DataFrame.iloc
按位置选择的列:
table['diff'] = table.iloc[:, -1] - table.iloc[:, -2]
print (table)
year 2016 2017 diff
area month
A 1 10.0 0.0 -10.0
3 0.0 50.0 50.0
B 2 12.0 0.0 -12.0
4 0.0 52.0 52.0