Python 字符串中的一个热点-获取unique列表中的索引
有没有一种从字符串数组中提取索引的便捷方法?我想用NumPy做一个简单的单键编码。我有一种自己编码的方法,但是首先我需要一个索引列表来编码 获取排序后的唯一元素很简单Python 字符串中的一个热点-获取unique列表中的索引,python,numpy,one-hot-encoding,Python,Numpy,One Hot Encoding,有没有一种从字符串数组中提取索引的便捷方法?我想用NumPy做一个简单的单键编码。我有一种自己编码的方法,但是首先我需要一个索引列表来编码 获取排序后的唯一元素很简单 >>> vals = np.array(['a', 'b', 'c', 'b', 'a']) >>> uniq = np.unique(vals) array(['a', 'b', 'c'], dtype='<U1') 但这会产生一个nd数组 对于预期产量: [0, 1, 2, 1, 0
>>> vals = np.array(['a', 'b', 'c', 'b', 'a'])
>>> uniq = np.unique(vals)
array(['a', 'b', 'c'], dtype='<U1')
但这会产生一个nd数组
对于预期产量:
[0, 1, 2, 1, 0]
设置
return\u inverse=True
:
vals = np.array(['a', 'b', 'c', 'b', 'a'])
u, indices = np.unique(vals, return_inverse=True)
print(u) # ['a' 'b' 'c']
print(indices) # [0 1 2 1 0]
那么,您的预期输出是什么?一个热门还是分类编码?你的标题和问题说明了不同的事情。如果是编码,那么添加一个
return\u inverse=True
arg:u,i=np.unique(vals,return\u inverse=True)
取决于你为什么需要它,你也可以查看sklearn的。谢谢!出人意料的简单,在第一次阅读文档时,我并没有完全理解相反的意思。
vals = np.array(['a', 'b', 'c', 'b', 'a'])
u, indices = np.unique(vals, return_inverse=True)
print(u) # ['a' 'b' 'c']
print(indices) # [0 1 2 1 0]