#python #python-3.x #pivot
#python #python-3.x #сводная
Вопрос:
У меня есть фрейм данных, который выглядит следующим образом..
RCFD0071 RCFD0081 RCFD0426 RCFD1350 RCFD1754 RCFD1773 RCFD2130 RCFD2143 RCFD2145 file
INT-BEARING BALS DUE FRM DEP INSTS NONINTEREST-BEARING BALSamp;CURRamp;COIN OTHER IDENTIFIABLE INTANGIBLE ASSETS FED. FUNDS SOLD amp; SECURITIES RS. HELD-TO-MATURITY SECURITIES AVAILABLE-FOR-SALE SECURITIES INVEST. IN UNCONSOLIDATED SUBS amp; CO. Invest in Unconsolidated Subsid PREMISESamp;FIXED ASSETS(INCL CAP LSES) FFIEC CDR Call Schedule RC0 03312001.txt
1457 975697 112745 161346 15358 3510649 6987 0 450706 FFIEC CDR Call Schedule RC0 03312001.txt
25560 292236 123288 585000 0 3080606 0 0 105521 FFIEC CDR Call Schedule RC0 06302001.txt
17983011 897105 29763 15060119 1347143 15373763 22733 0 570144 FFIEC CDR Call Schedule RC0 06302001.txt
1016 706018 0 1166892 0 1185021 0 0 253232 FFIEC CDR Call Schedule RC0 09312001.txt
Я пытаюсь выяснить, как сделать следующее с помощью UnPivot.
- транспонировать вторую строку в первый столбец
- транспонировать первую строку во второй столбец
- проанализируйте даты конца квартала и используйте в качестве заголовков
- суммируйте все элементы строки по дате и агрегируйте по дате
Вот что я хочу получить, когда все будет сделано.
У меня более 80 полей с данными; я не могу сделать это вручную.
Я знаю, как выполнить обычную блокировку, но я не знаю, как перенести вторую строку и переместить ее в первый столбец, перенести первую строку и переместить ее во второй столбец. Кроме того, я не знаю, как извлекать имена файлов и использовать их в качестве заголовков. Возможно ли это с помощью Python? Во фрейме данных намного больше столбцов и строк, поэтому сделать это вручную нереально.
Ответ №1:
Вот шаги 1 и 2
r1 = df.loc[0].copy()
df.loc[0] = df.columns
df.columns = r1
df = df.T
Предполагается ли, что шаг 3 является переименованием?
О каких датах вы говорите для шага 4?
В любом случае я думаю, что шаги 3 и 4 должны быть отдельным вопросом, чтобы вы могли добавить больше деталей.
Комментарии:
1. Кажется, я понимаю, что вы здесь делаете, но когда я запускаю этот код, я получаю следующую ошибку: ValueError: несоответствие длины: ожидаемая ось содержит 101 элемент, новые значения содержат 73 элемента. Мне нужно провести еще немного исследований по этому вопросу. Спасибо.