Skip to main content
 首页 » 编程设计

python之将 Numpy 数组映射到字符列表

2025年05月04日14cmt

给定两个昏暗的 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]