【问题标题】:Convert pandas series into integers将熊猫系列转换为整数
【发布时间】:2016-03-02 15:39:55
【问题描述】:

给定这样的数据框:

'John', 0.25
'Mary', 0.2
'Adam', 0.1
'Andrew', 0.6

我想为某个系列中的每个类别生成一个唯一整数。例如,在上面的例子中,输出可能是这样的

0, 0.25
1, 0.2
2, 0.1
3, 0.6

可能仅适用于 pandas 或标准库。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    我认为你可以使用factorize like:

    print df
              a     b
    0    'John'  0.25
    1    'Mary'  0.20
    2    'Mary'  0.20
    3    'Adam'  0.10
    4    'Adam'  0.10
    5    'Adam'  0.10
    6  'Andrew'  0.60
    
    print pd.factorize(df.a)
    (array([0, 1, 1, 2, 2, 2, 3]), 
     Index([u''John'', u''Mary'', u''Adam'', u''Andrew''], dtype='object'))
    
    df['a'] = pd.factorize(df.a)[0]
    print df
    
       a     b
    0  0  0.25
    1  1  0.20
    2  1  0.20
    3  2  0.10
    4  2  0.10
    5  2  0.10
    6  3  0.60
    

    【讨论】:

    • 是否可以推广到我不知道我有多少唯一值的情况?
    • 我尝试添加新行,如果我理解正确您的问题,请检查。
    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 2019-10-12
    • 2019-03-27
    • 2014-11-23
    相关资源
    最近更新 更多