基于字符串分类变量生成数字分类变量

问题描述 投票:1回答:2

我正在尝试为字符串列表生成数字类别变量(类似于ID)。

详细来说,应该为每个“艺术家”分配一个ID。

enter image description here

python pandas dataframe variables
2个回答
1
投票

这是您可以尝试的方式:

# 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
投票

IIUC,使用Series.factorize

Series.factorize

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

groupby.ngroup
© www.soinside.com 2019 - 2024. All rights reserved.