第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Numpy中通過邏輯索引獲取矩陣的網(wǎng)格

在Numpy中通過邏輯索引獲取矩陣的網(wǎng)格

冉冉說 2021-03-29 19:11:27
我正在嘗試使用最初在MATLAB中的numpy重寫函數(shù)。在MATLAB中有一個(gè)邏輯索引部分,如下所示:X = reshape(1:16, 4, 4).';idx = [true, false, false, true];X(idx, idx)ans =     1     4    13    16當(dāng)我嘗試以numpy進(jìn)行索引時(shí),無(wú)法獲得正確的索引:X = np.arange(1, 17).reshape(4, 4)idx = [True, False, False, True] X[idx, idx]# Output: array([6, 1, 1, 6])通過邏輯索引從矩陣中獲取網(wǎng)格的正確方法是什么?
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

您還可以編寫:


>>> X[np.ix_(idx,idx)]

array([[ 1,  4],

       [13, 16]])


查看完整回答
反對(duì) 回復(fù) 2021-04-06
?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

In [1]: X = np.arange(1, 17).reshape(4, 4)


In [2]: idx = np.array([True, False, False, True])  # note that here idx has to

                                                    # be an array (not a list)

                                                    # or boolean values will be 

                                                    # interpreted as integers


In [3]: X[idx][:,idx]

Out[3]: 

array([[ 1,  4],

       [13, 16]])


查看完整回答
反對(duì) 回復(fù) 2021-04-06
?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

在numpy此稱為fancy indexing。要獲得您想要的項(xiàng)目,您應(yīng)該使用2D索引數(shù)組。


您可以使用outer來從1D中idx創(chuàng)建適當(dāng)2D的索引數(shù)組。當(dāng)應(yīng)用于兩個(gè)序列時(shí),外部函數(shù)1D會(huì)將一個(gè)序列的每個(gè)元素與另一個(gè)序列的每個(gè)元素進(jìn)行比較。回顧True*True=True和False*True=False,與np.multiply.outer()相同np.outer(),可以為您提供2D索引:


idx_2D = np.outer(idx,idx)

#array([[ True, False, False,  True],

#       [False, False, False, False],

#       [False, False, False, False],

#       [ True, False, False,  True]], dtype=bool)

您可以使用:


x[ idx_2D ]

array([ 1,  4, 13, 16])

在您的真實(shí)代碼中,您可以使用x=[np.outer(idx,idx)]它,但是它不節(jié)省內(nèi)存,其工作方式與del idx_2D完成切片后添加a的工作方式相同。


查看完整回答
反對(duì) 回復(fù) 2021-04-06
  • 3 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)