2014-11-24 137 views
0
n = ' AAADDDEEE' 
m = ' AADDDEB' 

如何创建numpy的维数len(n)x len(m)其中n是第一行,m是第一列,所有其他条目是空len(n)x len(m)array NumPy

A A A D D D E E E 
A [][][][][][][][][] 
A [][][][][][][][][] 
D [][][][][][][][][] 
D [][][][][][][][][] 
D [][][][][][][][][] 
E [][][][][][][][][] 
B [][][][][][][][][] 

我试图沿

import numpy as np 
print np.array(list(n),list(m)) 

线的东西,但只对参数。 。 。我不知道该如何去做这件事。

回答

2
>>> arr = np.empty((len(m), len(n)), dtype=str) 
>>> arr.fill('') 
>>> arr[0] = list(n) 
>>> arr[:,0] = list(m) 
>>> arr 
array([['A', 'A', 'A', 'D', 'D', 'D', 'E', 'E', 'E'], 
     ['A', '', '', '', '', '', '', '', ''], 
     ['D', '', '', '', '', '', '', '', ''], 
     ['D', '', '', '', '', '', '', '', ''], 
     ['D', '', '', '', '', '', '', '', ''], 
     ['E', '', '', '', '', '', '', '', ''], 
     ['B', '', '', '', '', '', '', '', '']], 
     dtype='|S1') 
>>> 
+0

为什么np.empty会产生随机字符? – 2014-11-24 08:35:59

+0

,因为它不初始化值,只映射内存。改用'zeros'。 – soupault 2014-11-24 08:37:01

+1

@ O.rka如果你不想随机值,那么使用'numpy.full':'np.full((len(m),len(n)),'',dtype = str)',这会初始化一个空字符串的数组。 – 2014-11-24 08:39:24