【发布时间】:2021-02-15 20:54:46
【问题描述】:
如果已经以某种方式发布了类似的问题,我很抱歉,但到目前为止我在任何地方都找不到。我的问题如下:
假设我有一个像这样的 4D numpy 矩阵
M= array([[[[0. , 0. , 0. ],
[0. , 0. , 0.01]],
[[0. , 0.01, 0. ],
[0. , 0.01, 0.01]]],
[[[0.01, 0. , 0. ],
[0.01, 0. , 0.01]],
[[0.01, 0.01, 0. ],
[0.01, 0.01, 0.01]]]])
可以将其视为 3D 网格,其中空间中的每个点都是值的三元组(行 / 轴 = 矩阵的 3)。我有另一个 2D np 数组,对应于一组点(在本例中为 2):
Points= array([[0.01, 0.01, 0.], [0., 0., 0.]])
我想查看 M 并找到对应于这些点的坐标或索引。像这样的
coordinates= array([[1,1,0], [0,0,0]])
不幸的是,我必须尽可能避免 for 循环。对于这种情况,我正在寻找相当于 numpy.where() 的方法。
谢谢!
【问题讨论】:
标签: python numpy parsing array-broadcasting