這似乎是一個奇怪的問題,但它歸結為一個非常簡單的操作,我找不到一個 numpy 等價物。我已經查看了np.where許多其他操作,但找不到任何可以執行此操作的操作:
a = np.array([1,2,3])
b = np.array([1,2,3,4])
c = np.array([i<b for i in a])
輸出是一個二維陣列 (3,4),比較每個值的布林值。
uj5u.com熱心網友回復:
如果你問如何獲得c沒有回圈,試試這個
# make "a" a column vector
# > broadcasts to produce a len(a) x len(b) array
c = b > a[:, None]
c
array([[False, True, True, True],
[False, False, True, True],
[False, False, False, True]])
uj5u.com熱心網友回復:
您可以在其他答案中擴展該方法以獲取 和 的a值b。給定一個面具
c = b > a[:, None]
np.where您可以使用or提取每個維度的索引np.nonzero:
row, col = np.nonzero(c)
并使用索引獲取相應的值:
ag = a[row]
bg = b[col]
的元素a和b可能在結果中重復。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/479489.html
