Как заменить категориальные переменные с их числовыми представлениями для дальнейшего вычисления их корреляций? - PullRequest
0 голосов
/ 21 июня 2019
  1. У меня есть фрейм данных с информацией о разных пользователях (ID) со многими дублированными категориальными переменными (фотография и хэш-теги) и соответствующими им числами взаимодействий (лайки и комментарии). Как я могу заменить категориальные переменные с его числовыми преобразованиями?

Например:

id    photo_type    likes comments   hash-tags

1     nature          2      1        [#nature, #shooting, #photography]

2     art             4      5        [#shooting, #photography]

3     art             1      3        [#art, #shooting]

4     fashion         3      0        [#beauty, #photography]

5     fashion         2      0        [#shooting, #photography]

Я ожидаю получить:

id    photo_type    likes  hash-tags

1     0 0 1           2      ?

2     0 1 0           4      ?

3     0 1 0           1      ?

4     1 0 0           3      ?

5     1 0 0           2      ?

Я пробовал одну горячую запись (get_dummies (photo_type)), но она добавляет больше числовых столбцов в мой фрейм данных, и я хочу заменить категориальный столбец его числовым преобразованием для типа фотографии.

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Вы можете попробовать заменить метод на такой:

df.replace({'nature':'0 0 1', 'art': '0 1 0', 'fashion': '1 0 0'})
0 голосов
/ 21 июня 2019

Пожалуйста, следуйте минимальный воспроизводимый код

Я думаю, что вы ищете одну горячую кодировку.

df
>>>index Color
0        Red  
1        Blue
2        Green
3        Red

pd.get_dummies(df.Color)
df
>>>index Red  Blue  Green
0        1    0     0 
1        0    1     0
2        0    0     1
3        1    0     0
...