Попытка преобразовать данные из широкого в узкий формат - PullRequest
0 голосов
/ 11 апреля 2020

Итак, я пытаюсь преобразовать DataFrame с названием Narrow из широкого в узкий формат, и я подумал, что pandas .melt будет лучшим решением для этого:

wide = pd.melt(Narrow, id_vars='i', value_vars=Narrow.columns).sort(columns='i')

Однако я получаю ошибка:

Exception: Data must be 1-dimensional

Это фрагмент моих данных: enter image description here

1 Ответ

1 голос
/ 11 апреля 2020

Narrow.columns включает столбец 'i', поэтому вы назначаете этот столбец как id_vars, так и value_vars. Если вы хотите, чтобы все столбцы, кроме 'i', составляли value_vars, вы можете просто пропустить присвоение value_vars, поскольку это значение по умолчанию:

wide = pd.melt(Narrow, id_vars='i')

Из документации pd.melt() :

value_vars: кортеж, список или ndarray, необязательно

Столбцы для разворота. Если не указано, используются все столбцы, которые не установлены как id_vars .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...