将字符串numpy数组转换为ascii numpy矩阵

时间:2014-04-18 16:23:56

标签: python arrays numpy

我一直在寻找一种在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]]])

有一种有效的方法吗?

1 个答案:

答案 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)