簡體   English   中英

Numpy Python:如何根據條件更改二維數組元素?

[英]Numpy Python: How to change 2d array elements based on condition?

我有一個代表一些 x,y 坐標的 numpy 二維數組。 給定一個參考點 [a,b] 和距離“c”,我想替換我的二維數組中的元素,以便將距離 [a,b]>c 的所有點設置為 [0,0] 和距離小於 c 的那些被設置為 [1,1]。 我嘗試在許多變體中使用 where(),但沒有成功。

示例輸入:

arr2D = np.array([[10,20],[30,40],[50,60]])
refPoint = np.array([29,41])
c = 5

Output 應該是: [[0,0],[1,1],[0,0]]

任何幫助表示贊賞...

np.array([[int(np.linalg.norm(a - refPoint, 2) < c)]*len(refPoint) for a in arr2D])

這給出了您正在尋找的格式,但“*len(refPoint)”似乎有點多余。

暫無
暫無

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

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