Сводка данных в определенном формате - PullRequest
2 голосов
/ 04 октября 2019

В настоящее время у меня есть фрейм данных в следующем формате:

ID  Value   Type    Month
1   0.1     B       Jan
2   0.2     A       Jan
1   0.15    A       Feb
2   0.1     B       Feb

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

Month Jan            Feb
      Value   Type   Value   Type
ID     
1     0.1     B      0.15    A
2     0.2     A      0.1     B

Я запускаюследующие для поворота данных

df.pivot(index='ID', columns='Month', values=['Type', 'Value'])

Но вместо этого таблица выглядит примерно так:

      Value        Type
      Jan   Feb    Jan   Feb
ID     
1     0.1   0.15   B     A
2     0.2   0.1    A     B

Есть ли способ заставить ее выйти так, как я хочу? Не удалось найти способ структурировать сводную таблицу, как я хочу. Как повернуть фрейм данных не отображает этот конкретный запрос формата

1 Ответ

1 голос
/ 04 октября 2019

Используйте swaplevel и sort_index от вашего последнего разворота df.

df2.swaplevel(axis=1).sort_index(axis=1, ascending=[False, False])

Month   Jan        Feb     
      Value Type Value Type
ID                         
1       0.1    B  0.15    A
2       0.2    A   0.1    B
...