簡體   English   中英

使用元組索引 Numpy 數組維度

[英]Index Numpy array dimensions with tuple

我有一個 numpy 數組,例如arr = np.arange(16).reshape(2,2,2,2)

當我將(dim2, dim3)作為元組時arr[:, dim2, dim3]我想動態訪問arr[:, dim2, dim3] 做這個的最好方式是什么?

如果您的數組的維數可能不同,請嘗試以下操作:

some_tuple = (dim2, dim3) # Could be (dim2, dim3, ..., dimN)

arr[(slice(None),) + some_tuple]

在這種特殊情況下, (slice(None),) + some_tuple(slice(None), dim2, dim3) slice(None)或多或少等同於“ : ”,但它可以用在比“ : ”更多的地方。 請注意,我將slice(None)放在單元素元組中(即(slice(None),) ),以便我可以將其添加到some_tuple 還要注意slice(None)之后有一個逗號,即,我只是寫(slice(None))沒有逗號。 如果沒有額外的逗號,它將無法工作。

some_tuple = (dim2, dim3) arr[:, some_tuple[0], some_tuple[1]]

暫無
暫無

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

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