在python中将整数转换为虚拟对象

时间:2018-01-16 14:18:32

标签: python-3.x pandas data-science

你好!
我和pandas一起工作python' get_dummies函数,我尝试将int转换为向量,例如使用5类功能:
1 - > [1,0,0,0,0]
2 - > [0,1,0,0,0]
...
是否存在功能? 如果没有,我可以建立一个功能,但我只是在重新发明轮子之前问。

谢谢!

2 个答案:

答案 0 :(得分:3)

只需将相关系列转换为字符串,然后照常使用get_dummies。

pd.get_dummies(df['col'].astype(str))

答案 1 :(得分:0)

我认为你应该只写一个简单的函数来做到这一点,而不是问。这是无数种方法之一。

import numpy as np
    def get_dumm(lenn, num):
        arr = np.zeros(lenn, dtype='bool_') #replace type with 'int8' if needed
        arr[num - 1] = True #replace True with 1 if type of arr is 'int8'
        return arr
get_dumm(5,3)

输出:

array([False, False, True, False, False], dtype=bool)

或者如果您使用int8

array([0, 0, 1, 0, 0], dtype=int8)