2014-11-24 136 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