Транспонирование выбранных уровней MultiIndex в Pandas DataFramePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Транспонирование выбранных уровней MultiIndex в Pandas DataFrame

Сообщение Anonymous »

У меня есть многоиндексный фрейм данных:

import pandas as pd
import numpy as np

l0, l1 = ['A', 'B'],['a', 'b']
c0 = ['c1', 'c2', 'c3']
data = np.arange(12).reshape(4,3)
df = pd.DataFrame(data=data,
index=pd.MultiIndex.from_product([l0,l1]),
columns=c0)

>>>
c1 c2 c3
A a 0 1 2
b 3 4 5
B a 6 7 8
b 9 10 11


Я хочу транспонировать уровень MultiIndex и столбцов, чтобы в результате получилось:

df2 = pd.DataFrame(index=pd.MultiIndex.from_product([l0, c0]),
columns=l1)

>>>
a b
A c1 NaN NaN
c2 NaN NaN
c3 NaN NaN
B c1 NaN NaN
c2 NaN NaN
c3 NaN NaN


И, очевидно, я хочу заполнить правильные значения. В настоящее время мое решение состоит в том, чтобы использовать карту с итератором, но кажется, что у Pandas есть какой-то собственный способ сделать это. Я прав, есть ли лучший (более быстрый) способ?

from itertools import product
def f(df, df2, idx_1, col_0):
df2.loc[(slice(None), col_0), idx_1] = \
df.loc[(slice(None), idx_1), col_0].values
m = map(lambda k: f(df, df2, k[0], k[1]), product(l1, c0))
list(m) # >> df2
>>>
a b
A c1 0 3
c2 1 4
c3 2 5
B c1 6 9
c2 7 10
c3 8 11


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pandas set_levels в MultiIndex: значения уровней должны быть уникальными
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как запросить MultiIndex по MultiIndex и выбрать «лучшую» строку?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как запросить MultiIndex по MultiIndex и выбрать «лучшую» строку?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Multiindex Slice | срез с другим индексом в подмножестве уровней
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Преобразование Pandas Dataframe из столбцов MultiIndex в единый индекс без дубликатов
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

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