繁体   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