2017-04-24 92 views
0

我可以生成一個這樣的數組:生成n×n的數組中numpy的

arr = np.array(range(0,36)) 
arr 
#Output 
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
    17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
    34, 35]) 

我的問題是我怎麼能生成N×N的陣列,如:

array([[ 0, 1, 2, 3, 4, 5], 
[6, 7, 8, 9, 10, 11], 
[12, 13, 14, 15, 16, 17], 
[18, 19, 20, 21, 22, 23], 
[24, 25, 26, 27, 28, 29], 
[30, 31, 32, 33, 34, 35]]) 

回答

0

你已經寫了沒有按輸出方式「T期待權,位如果你的意思是那麼的6x6陣列:

>>> arr = np.array(range(0,36)).reshape((6,6)) 
>>> arr 
array([[ 0, 1, 2, 3, 4, 5], 
     [ 6, 7, 8, 9, 10, 11], 
     [12, 13, 14, 15, 16, 17], 
     [18, 19, 20, 21, 22, 23], 
     [24, 25, 26, 27, 28, 29], 
     [30, 31, 32, 33, 34, 35]]) 

注有外部組方括號此相比,所需輸出...

稍微更緊湊(.reshape可以採取多種參數)和可能更快的方法(np.arange THX @jadsq):

np.array(np.arange(36)).reshape(6,6) 
+0

對不起,我的意思是一樣的。謝謝。 – bhansa

+1

使用'np.arange'而不是'range',它的工作原理相同,應該快得多 – jadsq

相關問題