【发布时间】:2018-09-01 09:15:48
【问题描述】:
我有一个 netCDF4 数据集,表示多个相同维度的矩阵 (551, 146),一个矩阵 (M1) 包含经度值,另一个矩阵 (M2) 包含纬度值。每个矩阵都是一个 numpy 掩码数组。
给定一个 lon/lat 元组 (A, B),我想获取矩阵索引 (lon, lat),其中值 A 匹配 M1,值 B 匹配 M2。
我认为我可以用以下方式表示索引:
lon_idx, lat_idx = np.mgrid[:lon.shape[0], :lon.shape[1]]
还有两个形状相同的矩阵,其中一个矩阵的所有值都设置为A,另一个矩阵的所有值都设置为B。
然后我希望以某种方式将这些矩阵组合起来,最终得到一个由lon、lat 索引组成的数组,其中值匹配。
在 numpy 中执行此操作的惯用方式是什么?
【问题讨论】:
-
.. 试试
np.ix_? -
请包含minimal reproducible example,包括您要查找的输出。
-
@Divakar 我想我需要的不仅仅是这个提示来理解如何解决我的问题。我试过使用
np.ix_,但它需要一维数组,而且我有矩阵,即二维数组.. -
尝试打印
np.where(M1 == A),看看你会得到什么。你应该得到你需要的索引。