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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

脾氣暴躁的索引切片而不會丟失尺寸信息

脾氣暴躁的索引切片而不會丟失尺寸信息

慕碼人8056858 2019-11-28 09:52:30
我正在使用numpy,并希望在不丟失維度信息的情況下對行進(jìn)行索引。import numpy as npX = np.zeros((100,10))X.shape        # >> (100, 10)xslice = X[10,:]xslice.shape   # >> (10,)  在此示例中,xslice現(xiàn)在為1維,但我希望它為(1,10)。在R中,我將使用X [10,:,drop = F]。numpy中是否有類似的東西。我在文檔中找不到它,也沒有看到類似的問題。謝謝!
查看完整描述

3 回答

?
至尊寶的傳說

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

這可能是最容易做到的x[None, 10, :]或等效的方法(但更具可讀性)x[np.newaxis, 10, :]。


至于為什么不是默認(rèn)值,我個人發(fā)現(xiàn),不斷擁有單例維數(shù)的數(shù)組會非常煩人。我猜想那些麻木的開發(fā)者也有同樣的感覺。


而且,numpy可以很好地處理廣播數(shù)組,因此通常沒有理由保留切片所來自的數(shù)組的尺寸。如果您這樣做了,那么類似:


a = np.zeros((100,100,10))

b = np.zeros(100,10)

a[0,:,:] = b

要么行不通,要么實施起來更加困難。


(或者至少這是我對切片時刪除維度信息背后的numpy開發(fā)人員的猜測)


查看完整回答
反對 回復(fù) 2019-11-28
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗 獲得超4個贊

另一個解決方案是


X[[10],:]

要么


I = array([10])

X[I,:]

當(dāng)由索引列表(或數(shù)組)執(zhí)行索引時,將保留數(shù)組的維數(shù)。這很好,因為它使您可以選擇保留尺寸和壓縮尺寸。


查看完整回答
反對 回復(fù) 2019-11-28
?
收到一只叮咚

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

這是我更喜歡的替代方法。而不是使用單個數(shù)字編制索引,而是使用范圍進(jìn)行索引。即使用X[10:11,:]。(請注意,其中10:11不包括11)。


import numpy as np

X = np.zeros((100,10))

X.shape        # >> (100, 10)

xslice = X[10:11,:]

xslice.shape   # >> (1,10)

這也使得使用更多尺寸也很容易理解,而無需None費力地弄清楚要使用哪個索引的軸。同樣,無需為陣列大小做額外的記賬工作,只需i:i+1為i您將在常規(guī)索引中使用的任何記賬工作做好。


b = np.ones((2, 3, 4))

b.shape # >> (2, 3, 4)

b[1:2,:,:].shape  # >> (1, 3, 4)

b[:, 2:3, :].shape .  # >> (2, 1, 4)


查看完整回答
反對 回復(fù) 2019-11-28
  • 3 回答
  • 0 關(guān)注
  • 401 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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