Я пытаюсь повернуть свой кадр данных 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
.
Я явно не в своей глубине. Может кто-то указать мне верное направление?
Использование 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()
.