我一直在寻找一种在python中将字符串numpy数组转换为二维ASCII矩阵的有效方法。因此,这是我能想到的最好的
def charArrayToAsciiMatrix(strNumpyArray):
for i in range(strNumpyArray):
if(i==0):
AsciiMatrix=numpy.matrix(ord[[c for c in strNumpyArray[i]]])
else:
AsciiMatrix=numpy.vstack(AsciiMatrix,ord[[c for c in strNumpyArray[i]]])
有一种有效的方法吗?
答案 0 :(得分:0)
这是怎么回事?
import numpy as np
def add_word_as_ordinal(arr, word):
arr.extend([ord(ch) for ch in word])
return arr
def char_array_to_ascii_matrix(char_array):
result = np.matrix(reduce(add_word_as_ordinal, char_array, []))
result.shape = len(char_array), len(char_array[0])
return result
my_array = np.array("JustA Flesh Wound".split())
my_matrix = char_array_to_ascii_matrix(my_array)