簡體   English   中英

在python中訪問n維矩陣的第j維

[英]Accessing the j-th dimension of an n-dimensional matrix in python

鑒於:

  • 整數輸入j,d,使得0 <j <d + 1

  • 尺寸為d的整數向量-1 <a <b。

  • d維矩陣(即張量)T為numpy數組

我想讀取某些信息,這些信息將取決於整數j。

例如,

  c[1]>u[,1]

我想訪問

  T[(a[0]):(b[0]),...,(a[j]-1):(b[j]+1),...,(a[n-1]):(b[n-1])]

我想知道是否有通用的方法可以做到這一點,尤其是在d和j可以變化的情況下。

在這里可以找到類似的問題: 在python中訪問第n維

從切片構造索引元組:

In [88]: a = [1,0,4]; b = [4,1,None]
In [89]: idx = [slice(i,j) for i,j in zip(a,b)]
In [90]: idx
Out[90]: [slice(1, 4, None), slice(0, 1, None), slice(4, None, None)]
In [91]: arr = np.arange(5*3*7).reshape(5,3,7)
In [92]: arr[tuple(idx)]
Out[92]: 
array([[[25, 26, 27]],

       [[46, 47, 48]],

       [[67, 68, 69]]])
In [93]: _.shape
Out[93]: (3, 1, 3)

暫無
暫無

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

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