我使用 numpy mggrid 命令创建了一个 3D 数组,以便每个元素都有特定的值,并且索引保留空间信息。例如,如果在 z 轴(第三维)上求和,则生成的 2D 数组可以在 matplotlib 中与函数 imshow() 一起使用,以获得具有不同分箱像素值的图像。
我的问题是:如何获取此网格中每个元素的索引值(a、b、c)?
我需要使用索引值来计算每个点与网格原点的相对角度。 (例如 theta=sin-1(sqrt(x^2+y^2)/sqrt(x^2+y^2+z^2))
也许这可以转换为另一个 3D 网格,其中每个元素都是数组 [a,b,c]?
最佳答案
我不太清楚你的意思,但如果你正在寻找包含索引 x、y 和 z 的 3d 数组,那么以下内容可能适合你的需求;假设您的数据保存在名为“abc”的 3D 数组中:
import numpy as nm
x,y,z = nm.mgrid[[slice(dm) for dm in abc.shape]]
关于python - 3D 数组中每个元素的 Numpy 索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551666/