[英]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.