отдельные колонки в зависимости от жанра - PullRequest
0 голосов
/ 17 мая 2018

У меня есть набор данных для рекомендаций по фильмам, и я хочу разделить жанровую функцию на столбцы разных жанров.Колонка объединяет все жанры и разделяет их с помощью '|'.

Каков наилучший способ сделать это?

     movieId      title                                genres
0       1         Toy Story (1995)                     Adventure|Animation|Children|Comedy|Fantasy
1       2         Jumanji (1995)                       Adventure|Children|Fantasy
2       3         Grumpier Old Men (1995)              Comedy|Romance
3       4         Waiting to Exhale (1995)             Comedy|Drama|Romance
4       5         Father of the Bride Part II (1995)   Comedy

Спасибо

1 Ответ

0 голосов
/ 17 мая 2018

Используйте str.get_dummies:

df = df['genres'].str.get_dummies('|')
print (df)
   Adventure  Animation  Children  Comedy  Drama  Fantasy  Romance
0          1          1         1       1      0        1        0
1          1          0         1       0      0        1        0
2          0          0         0       1      0        0        1
3          0          0         0       1      1        0        1
4          0          0         0       1      0        0        0

и, если необходимо, добавьте обратно, как новые столбцы, добавьте join:

df = df.join(df.pop('genres').str.get_dummies('|'))
print (df)
   movieId                               title   ...     Fantasy  Romance
0        1                    Toy Story (1995)   ...           1        0
1        2                      Jumanji (1995)   ...           1        0
2        3             Grumpier Old Men (1995)   ...           0        1
3        4            Waiting to Exhale (1995)   ...           0        1
4        5  Father of the Bride Part II (1995)   ...           0        0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...