>我有一个netCDF4数据集,表示相同维度(551,146(的多个矩阵,一个矩阵(M1
(包含经度值,另一个矩阵(M2
(包含纬度值。每个矩阵都是一个 numpy 屏蔽数组。
给定一个 lon/lat 元组,(A, B)
,我想得到矩阵索引 ( lon, lat
其中值A
在 M1
中匹配,值在M2
中匹配B
。
我想我可以用以下方法表示指数:
lon_idx, lat_idx = np.mgrid[:lon.shape[0], :lon.shape[1]]
和两个形状相同的矩阵,其中一个将所有值设置为 A
,另一个将所有值设置为 B
。
然后我希望以某种方式组合这些矩阵,并最终得到一个lon
数组,lat
值匹配的索引。
在numpy中执行此操作的惯用方法是什么?
感谢 SnoopJeDi 在 #python @freenode 为我找到了解决方案:
In [58]: np.argwhere((lon == lon[250][145]) & (lat == lat[250][145]))
Out[58]: array([[250, 145]])