给定两个昏暗的 numpy 数组:
a = array([[-1, -1],
[-1, 1],
[ 1, 1],
[ 1, 1],
[ 1, 0],
[ 0, -1],
[-1, 0],
[ 0, -1],
[-1, 0],
[ 0, 1],
[ 1, 1],
[ 1, 1]])
和转换字典:
d = {-1:'a', 0:'b', 1:'c'}
如何将原始数组映射成字符组合列表?
我需要的是下面的列表(或数组)
out_put = ['aa', 'ac', 'cc', 'cc', 'cb', 'ba', ....]
(我正在做一些机器学习分类,我的类由 -1、0、1 的组合标记,我需要将“标签”数组转换为可读的内容,如“aa”、“bc”等上)。
如果sklearn包中有一个简单的函数(binarizer,或one-hot-encoding),可以将原始的颠簸数组转换成一组标签,那就完美了!
请您参考如下方法:
这是列表理解的另一种方法:
my_dict = {-1:'a', 0:'b', 1:'c'}
out_put = ["".join([my_dict[val] for val in row]) for row in a]
