Многоиндексная разница столбцов Pivot - PullRequest
0 голосов
/ 26 сентября 2018

Я хотел бы создать столбец на многоиндексной оси, который принимает разницу между двумя последними столбцами (то есть, 2017 - 2016). Я также хотел бы ссылаться на столбцы года по номеру столбца, так как эти годы в будущем изменятся

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)

новая таблица должна выглядеть следующим образом

       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

1 Ответ

0 голосов
/ 26 сентября 2018

Вычесть столбцы, выбранные по позициям 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...