Pandas сводка по одному столбцу с агрегацией - PullRequest
0 голосов
/ 17 июня 2020

Входной фрейм данных

                                 Breakdown 12/31/2019 12/31/2018 12/31/2017 12/31/2016
0                             Total Assets    2926082    1997917     829758     369359
1  Total Liabilities Net Minority Interest    1771226     681684     213528      26454
2     Total Equity Gross Minority Interest    1154856    1316233     616230     342905
3                     Total Capitalization    2307673    1131101     560000     271539
4                      Common Stock Equity     813999     572080     475000     271539

Я хочу повернуться к столбцу разбивки и сделать так, чтобы оставшиеся столбцы даты стали индексом. Я пробовал pivot и pivot_table, но продолжаю получать ошибки агрегирования

Я, наконец, долго выяснял,

df = df.T
df.columns = df.loc['Breakdown']
df = df.drop('Breakdown', axis=0)

Но я думаю, что должен быть лучший подход к этой проблеме

Ожидаемый результат

Breakdown   Total Assets  Total Liabilities Net Minority Interest  Total Equity Gross Minority Interest  Total Capitalization  Common Stock Equity
12/31/2019       2926082                                  1771226                               1154856               2307673               813999
12/31/2018       1997917                                   681684                               1316233               1131101               572080
12/31/2017        829758                                   213528                                616230                560000               475000
12/31/2016        369359                                    26454                                342905                271539               271539

Ответы [ 2 ]

2 голосов
/ 17 июня 2020

Сделай это T

df=df.set_index('Breakdown').T
1 голос
/ 17 июня 2020

Комбинация stack и unstack должна помочь здесь: установите Breakdown в качестве индекса, сложите оставшиеся столбцы, затем разложите столбец Breakdown, чтобы получить результат:

df.set_index("Breakdown").stack().unstack(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...