Сводный многоиндексный кадр данных pandasPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сводный многоиндексный кадр данных pandas

Сообщение Anonymous »

Я пытаюсь изменить форму многоиндексного фрейма данных pandas. Ниже приведен образец исходного фрейма данных.

Код: Выделить всё

import pandas as pd
import numpy as np

idx = pd.MultiIndex.from_product([
['2023-06-30', '2023-07-31', '2023-08-31'],
['Post', 'Pre', 'Curr']
], names=['portdate', 'recontype'])
cols = ['begbal', 'unschd_pmt', 'unschd_part_pmt', 'unschd_full_pmt']
df = pd.DataFrame(np.random.rand(9,4), idx, cols)
Мой желаемый результат также будет многоиндексным фреймом данных. Что-то похожее на это.

Код: Выделить всё

                                6/30/2024 | 7/31/2023 | 8/31/2023
recontype  |  balancetype     |
Curr       |  begbal          | 0.130718  | 0.109284  | 0.642785
Curr       |  unschd_pmt      | 0.510886  | 0.940061  | 0.391445
Curr       |  unschd_part_pmt | 0.746261  | 0.431154  | 0.385217
Curr       |  unschd_full_pmt | 0.062011  | 0.170478  | 0.757842
Pre        |  begbal          | 0.566243  | 0.594380  | 0.694061
...
Post       |  begbal          | 0.729325  | 0.782333  | 0.465907
...
Я могу получить атрибут portdate для столбцов, используя df.unstack(level=0), но я изо всех сил пытаюсь получить атрибуты recontype где я хочу их.

Код: Выделить всё

df.unstack(level=1).T
сохраняет атрибут portdate как столбцы, а .T переносит атрибут Balancetype в строки, но они находятся на уровне 0, и для каждого повторного типа существует строка Атрибут . Я бы хотел перевернуть это так, чтобы recontype находился на уровне 0 и 'balancetypeуровень 1`.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -dataframe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»