Генерация числовых категориальных переменных на основе строковых категориальных переменных - PullRequest
1 голос
/ 29 января 2020

Я пытаюсь сгенерировать числовые c категориальные переменные (аналогично ID) для списка строк.

Подробно, каждому 'Artist' должен быть присвоен идентификатор.

enter image description here

Ответы [ 2 ]

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

Вот способ, которым вы можете попробовать:

# create a mapping for artist to a number
maps = {ar:en for en, ar in enumerate(df['artist'].unique())}
df['artist_code'] = df['artist'].map(maps)

  artist  artist_code
0      a            0
1      a            0
2      a            0
3      b            1
4      c            2

Пример данных

df = pd.DataFrame({'artist':['a','a','a','b','c']})
0 голосов
/ 29 января 2020

IIU C, используйте Series.factorize

df['artist_code']=df['artis'].factorize()[0]

или groupby.ngroup

df['artist_code'] = df.groupby('artist').ngroup()

#  artist  artist_code
#0      a            0
#1      a            0
#2      a            0
#3      b            1
#4      c            2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...