我正在构建一些涉及使用创建的网格np.meshgrid
和矩阵索引(即设置indexing = `ij`
)的软件。但是,我正在处理的函数可能会采用使用笛卡尔索引(即 setting indexing = `xy`
)创建的网格。有没有快速的方法从indexing = `xy`
到indexing = `ij`
)。当它只是二维时,我可以简单地转置。但是,当我转到 3D、4D 等时,移调就不起作用了。
indexing
只影响前两个轴的顺序。swapaxes(0, 1)
可以用来颠倒顺序:
In [106]: I,J,K,L = np.meshgrid([1,2,3],['A','B'],[10,20,30,40],['X','Y','Z'], indexing='ij')
In [107]: X,Y,Z,W = np.meshgrid([1,2,3],['A','B'],[10,20,30,40],['X','Y','Z'], indexing='xy')
In [108]: (I.swapaxes(0,1) == X).all()
Out[108]: True
In [109]: (J.swapaxes(0,1) == Y).all()
Out[109]: True
In [110]: (K.swapaxes(0,1) == Z).all()
Out[110]: True
In [111]: (L.swapaxes(0,1) == W).all()
Out[111]: True
swapaxes(0, 1)
也转换xy
为ij
索引(当然):
In [112]: (X.swapaxes(0,1) == I).all()
Out[112]: True
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句