Есть ли pandai c способ обработки нескольких значений в столбце? - PullRequest
0 голосов
/ 29 января 2020

Я немного проанализировал qualtrics и опросы в формах Google с Pandas.

Некоторые вопросы имеют формат:


что тебе нравится в торте? (выберите столько, сколько вам нужно)

  • вкусно
  • глазурь
  • яркие цвета
  • все

В обеих системах они создают столбец, который выглядит следующим образом:

| cake ? | ramen ? |
|  1, 3, 4| love     |
|  1      | hate     |
|  3, 4   | love     |

и так далее. Обе системы делают автоматические c диаграммы ответов, но с ними сложно работать.

В прошлом я делал это, разбивая их на дополнительные столбцы или просто обрабатывая все на лету и создавая временный фрейм данных для определенного c графика.

Есть ли более элегантный способ обработки столбцов, как это? Особенно для того, чтобы я мог составлять столбчатые диаграммы чувств торта, разбитые по тому, как они относятся к рамену (например)

1 Ответ

1 голос
/ 29 января 2020

большинство решений подобных проблем требуют создания нового кадра данных. пример: Pandas столбец списков, создайте строку для каждого элемента списка

Если вы не хотите этого делать - просто распакуйте списки. Функция необходима для работы с неравной глубиной списка:

tolist  = lambda a: a if type(a)==list else [a] 
[a for b in df['cake'].values for a in tolist(b)]

[1, 3, 4, 2, 3, 4]

...