Код: Выделить всё
Q1 Q2 ... Multi-Response
0 ... ... ... "A; B"
1 ... ... ... "B; C"
2 ... ... ... "D; F"
3 ... ... ... "A; B; F"
Я пытаюсь расширить это, чтобы можно было выполнить кластеризацию в k-режиме:
Код: Выделить всё
Q1 Q2 ... A B C D F
0 ... ... ... 1 1 0 0 0
1 ... ... ... 0 1 1 0 0
2 ... ... ... 0 0 0 1 1
3 ... ... ... 1 1 0 0 1
Но я могу Не совсем понимаю, как преобразовать фрейм данных в этот формат. Я пробовал использовать Pivot_table и get_dummies, но если они могут это сделать, мне не совсем понятно, как это работает.
Я могу получить таблицу ответы с помощью
Код: Выделить всё
multi_selection_question = data.keys()[-1]
expanded = data[multi_selection_question].str.split('; ', expand=True)
Код: Выделить всё
0 1 2
0 A B None
1 B C None
2 D F None
3 A B F
Код: Выделить всё
questions = pandas.Series(expanded.values.flatten()).unique()
Конечно, я мог бы просто прибегнуть к паре циклов и построить новый кадр данных построчно и объединить его, но обычно в пандах есть лучший способ.
Подробнее здесь: https://stackoverflow.com/questions/791 ... iers-while
Мобильная версия