【发布时间】:2021-05-15 09:53:51
【问题描述】:
我有:
- 英文字符列表,a 到 z:char_list
- 字符串系列
我想创建一个 numpy 矩阵,其中每一行对应于系列中同一行的字符串,每一列对应于列表中同一索引处的字符。
示例:
series: [[ab],[ac],[aa]]
chars = [a,b,c]
result = [[110],[101],[200]]
这是我现在的做法:
def create_char_matrix(strings, symbol_list):
mat = np.zeros((strings.shape[0],len(symbol_list)))
for i, line in enumerate(strings):
for c in line:
mat[i,symbol_list.index(c)] += 1
return mat
这不是很快,考虑到通常有比嵌套 for 循环更好的解决方案。
关于如何加快这一进程的任何想法?
【问题讨论】: