1
我有一個numpy的陣列,例如,下面的矩陣行-Wise索引
import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6]])
,並與布爾值另numpy的陣列,例如,
I = np.array([[True, False, False], [False, True, False]])
我想獲得的矩陣其元素的索引由I給出。在上面的例子中,我想得到矩陣
array([[1], [5]])
但是如果我嘗試
B = A[I]
然後我得到
array([1, 5])
我明白,這是由於事實的Trues
「號s可能不是每行中的相同。但是,如果他們是?有沒有使用numpy這樣做的方法?
事實上,我想在Theano中使用這個,使用tensor
模塊。我有一個包含上述數組的theano表達式(兩個T.matrix
theano變量)。有沒有方便的方式來計算新的更小的矩陣?
在每個子陣列中只能有一個「真」值嗎?如果是,只需使用:'A [I,None]' –
@cᴏʟᴅsᴘᴇᴇᴅ,不,每個子陣列中都有很多'True',但是總是相同的數字。 – nullgeppetto
如果你知道這個數字,你可以在之後重新整理你的數組。 –