簡體   English   中英

numpy中的數組索引

[英]Array indexing in numpy

numpy中是否有一種方法可以檢索數組中除提供的索引項之外的所有項。

 x = 
 array([[[4, 2, 3],
    [2, 0, 1],
    [1, 3, 4]],

   [[2, 1, 2],
    [3, 2, 3],
    [3, 4, 2]],

   [[2, 4, 1],
    [0, 2, 2],
    [4, 0, 0]]])

並要求

x[not 1,:,:] 

你會得到

array([[[4, 2, 3],
    [2, 0, 1],
    [1, 3, 4]],

   [[2, 4, 1],
    [0, 2, 2],
    [4, 0, 0]]])

謝謝

In [42]: x[np.arange(x.shape[0])!=1,:,:]
Out[42]: 
array([[[4, 2, 3],
        [2, 0, 1],
        [1, 3, 4]],

       [[2, 4, 1],
        [0, 2, 2],
        [4, 0, 0]]])

你試過這個嗎?

a[(0,2), :, :]

您可以嘗試將所需內容列入白名單,而不是將您不想要的內容列入黑名單。

如果你還需要黑名單,你可以這樣做:

a[[i for i in range(a.shape[0]) if i != 1], :, :]

基本上你只是創建一個包含所有可能索引的列表( range(a.shape[0]) )並過濾掉那些你不想顯示的列表( if i != 1 )。

這是一個非常通用的解決方案:

x[range(0,i)+range(i+1,x.shape[0]),:,:] 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM