我有一个NumPy数组,并将其转换为一个名为string_matrix的矩阵,其中每个元素都是一个字符串。
现在,我想将string_matrix中的每个元素转换为字母。矩阵中的数字是列表alp的索引。
所以我想要这个输出:string_matrix = [['l' 'i' 'a']['a' 'f' 'b']['u' 'e' 'k']]
alp = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",""]
matrix = numpy.array([[11, 8, 0],[0, 5, 1],[20, 4, 10]])
string_matrix = numpy.array(["%.f" % v for v in matrix.reshape(matrix.size)])
string_matrix = string_matrix.reshape(matrix.shape)
答案 0 :(得分:1)
您可以使用alp
索引到matrix
列表中,首先需要将alp
设为一个numpy数组:
numpy.array(alp)[matrix]
输出:
array([['l', 'i', 'a'],
['a', 'f', 'b'],
['u', 'e', 'k']], dtype='<U1')
这使用numpy的高级索引。如果您想阅读更多详细信息,here。