【问题标题】:Generating Numerical Categorial Variables based on String Categorial Variables基于字符串分类变量生成数值分类变量
【发布时间】:2020-01-28 22:06:39
【问题描述】:

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

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

【问题讨论】:

  • 您的问题需要更多的细节和解释,否则恐怕会被关闭。此外,您不应将数据/代码粘贴为图片,以文本格式提供,以便人们可以复制并尝试自己重现您的问题。

标签: python pandas dataframe variables


【解决方案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']})

【讨论】:

    【解决方案2】:

    IIUC,使用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
    

    【讨论】:

    猜你喜欢
    • 2022-07-31
    • 2020-06-22
    • 2016-05-06
    • 2019-06-28
    • 2020-03-10
    • 2019-07-17
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    相关资源
    最近更新 更多