[英]Check equality of two axes in multidiimensional numpy array
我得到了一個 3 維形狀 (n,m,k) numpy 數組。 我想將其視為包含向量的二維矩陣,即具有大小為 k 的向量的 nxm 矩陣。 我現在想檢查兩個這樣的形狀數組 (n,m,k) 是否第一個數組中的條目 (x,y,:) 等於第二個數組中的 (x,y,:) 。 有沒有一種方法可以在不使用循環的情況下在 numpy 中做到這一點?
我想過類似 A == B 以第一和第二軸為條件的東西。
您可以將條件和ndarray.all
與axis
一起使用:
a = np.arange(27).reshape(3,3,3)
b = np.zeros_like(a)
b[0,1,2] = a[0,1,2]
b[1,2,0] = a[1,2,0]
b[2,1,:] = a[2,1,:] # set to the same 3-vector at n=2, m=1
(a == b).all(axis=2) # check whether all elements of last axis are equal
# array([[False, False, False],
# [False, False, False],
# [False, True, False]])
如您所見,對於n=2
和m=1
我們在a
和b
得到相同的 3-vector。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.