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

标签 python pandas dataframe variables

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

具体来说,每个“艺术家”都应该分配一个 ID。

enter image description here

最佳答案

您可以尝试以下方法:

# 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

Sample Data

df = pd.DataFrame({'artist':['a','a','a','b','c']})

关于python - 基于字符串分类变量生成数值分类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59957779/

相关文章:

python - 如何在 python 中为变量赋值编写单元测试?

python - 根据 2(或更多列值)查找下一个相关行

python - 我如何使用 groupby 来做到这一点?

r - 如何将计算列添加到其他数据框的一系列联接中间的数据框?

python - 如何在给定的时间范围内(秒,分钟)获取一行(第一行或随机行)

python - Pandas - 按位类似并计算加权平均值

python - 查找特定 res.partner 位置的产品数量 - Odoo v8

python - 创建定义以替换 Python 句子中的单词

python - 如何根据另一个 DataFrame 中的数据删除 DataFrame 的行?

python - 交换由分隔符分隔的最后 2 个列字符串