Pandas: изменить столбцы, указанные в другом столбце списка типов - PullRequest
2 голосов
/ 02 августа 2020

У меня есть такой фрейм данных:

A       B       C       my_list
0       0       0       [A, B]
0       0       0       [B, C]
0       0       0       [A, C]
0       0       0       [A]
0       0       0       [A, C]

Мне нужен фрейм данных вроде:

A       B       C       my_list
1       1       0       [A, B]
0       1       1       [B, C]
1       0       1       [A, C]
1       0       0       [A]
1       0       1       [A, C]

То есть заполнение 1 значениями столбцов, указанных в 'my_list' столбец.

Как я могу это сделать?

Мой реальный фрейм данных огромен, поэтому здесь важна производительность.

1 Ответ

3 голосов
/ 02 августа 2020

Мы можем воссоздать фрейм данных с помощью explode и str.get_dummies

df.update(df['my_list'].explode().str.get_dummies().sum(level=0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...