2014-07-03 36 views
0

我有一個2維的416 * 416陣列,我想將它縮小到左上角來製作一個387 * 387陣列。對於我的生活,我無法弄清楚如何做到這一點。在numpy中,如何選擇二維數組的子集?

我試過數組[範圍(387),範圍(387)]和掩碼的變體,但沒有任何作用。

回答

1

這是你在找什麼:

A[:387, :387] 

但你已經試過什麼:

A[range(387), range(387)] 

應該正常工作。 (雖然在簡單的情況下,簡單的拼接通常是更清晰,更有效。)

只是一個代碼示例爲你想要做什麼可能是錯誤的(即可能還有一些其他的問題,你的代碼):

import numpy as np 

# create an array (shape 10 x 8) 
A = np.arange(80).reshape(10,8) 

# create a smaller array (5x4) of the top left corner 
B = A[:5,:4]