Как заставить панды рассматривать каждую строку как столбец на основе определенной переменной даты? [Дубликат]

1

Я пытаюсь повернуть свой кадр данных pandas, чтобы мои данные выглядели как...

     date   | data_1 | data_2 | data_3 | data_4
-----------------------------------------------
'2017-04-01'|     100|     200|     300|    400
'2017-05-01'|     500|     222|     333|    444

выглядеть как...

       | '2017-04-01' | '2017-05-01'
------------------------------------
data_1 |           100|          500
data_2 |           200|          222 
data_3 |           300|          333
data_4 |           400|          444

Я смотрел на поворот кадра данных, но я не могу понять, что такое "индекс". Когда я попытался добавить значение индекса в каждую строку, я попробовал эту точку:

pd.pivot(index='index', 
        columns='date', 
        values=['data_1', 'data_2', 'data_3', 'data_4'])

но это дало мне ошибку, говоря, что Length of index, columns and values must be the same.

Я явно не в своей глубине. Может кто-то указать мне верное направление?

Теги:
pandas
dataframe

1 ответ

1
Лучший ответ

Использование set_index + transpose:

res = df.set_index('date').T

print(res)

date    '2017-04-01'  '2017-05-01'
data_1           100           500
data_2           200           222
data_3           300           333
data_4           400           444

Так что вам не нужно использовать pivot_table, который почти исключительно зарезервированный, если требуется выполнить агрегирование на основе поворота. Примечание. Свойство T является аксессуаром метода transpose().

  • 0
    Спасибо за помощь! Это был, по-видимому, дублирующий вопрос. Я думал, что искал довольно хорошо, но я, очевидно, не сделал. Еще раз спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню