Транспонировать Pandas кадр данных из широкого в длинный - PullRequest
1 голос
/ 29 мая 2020

Я проверил pandas .wide_to_long , pandas .melt и различные сообщения SO, но не смог найти решение этой проблемы ниже.

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

enter image description here

Не могли бы вы показать мне, как изменить его на этот формат? Заранее спасибо.

enter image description here

1 Ответ

1 голос
/ 29 мая 2020

Давайте попробуем следующее:

import pandas as pd
import numpy as np

df = pd.DataFrame({'Var1':[*'xyz'],
                  'Var2':['a']*3,
                  'Var1a':[1,5,9],
                  'Var2a':[2,6,10],
                  'Var3':[3,7,11],
                  'Var4':[4,8,12]})

df_out = df.set_index(['Var2', 'Var1']).stack().unstack(1).droplevel(1)
df_out = df_out.rename_axis(index=None, columns=None)
df_out 

Вывод:

   x  y   z
a  1  5   9
a  2  6  10
a  3  7  11
a  4  8  12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...