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