Я очень близок, чтобы сходить с ума. У меня есть dataframe вроде этого:Как восстановить развернуть multiindex в pandas DataFrame
subject sessionIndex screenIndex index key time
s019 1 3 1 Shift 0.3442
s019 1 3 2 Shift.t 0.1514
s019 1 3 3 h 0.0844
s019 1 3 4 e 0.1127
s019 1 3 5 space 0.1201
s091 3 5 821 h 0.1126
s091 3 5 822 a 0.1425
s091 3 5 823 n 0.0926
s091 3 5 824 d 0.1525
после использования:
pivot_table(data,values='time', rows=['subject','sessionIndex','screenIndex','index'], cols=['key'])
У меня есть следующие dataframe:
key Shift Shift.t a d ...
subject sessionIndex screenIndex index
s019 1 3 1 0.3442 NaN NaN NaN ...
2 NaN 0.1514 NaN NaN ...
3 NaN NaN NaN NaN ...
4 NaN NaN NaN NaN ...
5 NaN NaN NaN NaN ...
s091 3 5 821 NaN NaN NaN NaN ...
822 NaN NaN 0.1425 NaN ...
823 NaN NaN NaN NaN ...
824 NaN NaN NaN 0.1525 ...
Это здорово, но я застрял в "разворачиваться" в мультииндексных так что мой dataframe выглядит так:
subject sessionIndex screenIndex index Shift Shift.t a d ...
s019 1 3 1 0.3442 NaN NaN NaN ...
s019 1 3 2 NaN 0.1514 NaN NaN ...
s019 1 3 3 NaN NaN NaN NaN ...
s019 1 3 4 NaN NaN NaN NaN ...
s019 1 3 5 NaN NaN NaN NaN ...
s091 3 5 821 NaN NaN NaN NaN ...
s091 3 5 822 NaN NaN 0.1425 NaN ...
s091 3 5 823 NaN NaN NaN NaN ...
s091 3 5 824 NaN NaN NaN 0.1525 ...
Я уже пробовал переиндексировать и индексировать сброс. Я довольно новичок в pandas и python, так что, может быть, я просто глуп. Пожалуйста, дайте мне знать, чего я здесь не вижу, Thx.
Я не уверен, что вы подразумеваете под «разворачиваться». Хотя повторяющиеся знаки скрыты для показа, они все еще существуют. Но, возможно, вам хотелось бы, чтобы четыре уровня MultiIndex были обычными столбцами - в этом случае они отображались бы так, как вы указали, и в некоторых отношениях легче обрабатывать. В этом случае просто используйте результат '' df.reset_index() ''. –
Привет, Дэн, спасибо за ваш ответ. Я уже пробовал это. Проблема в том, что эта команда также возвращает все переменные обратно в случаи. Поэтому мои данные по-прежнему называются pivot_table. – user2675976
Хм. Это удивительно. Вы уверены, что выполняете reset_index по результату pivot_table, а не на исходном DataFrame? –