我需要为具有一般/可变维数的数组生成网格。在 2D 情况下,我知道我可以使用 mgrid:
一些二维数据
N = 1000
x = np.random.uniform(0., 1., N)
y = np.random.uniform(10., 100., N)
xmin, xmax, ymin, ymax = x.min(), x.max(), y.min(), y.max()
获取二维网格
xy_grid = np.mgrid[xmin:xmax:10j, ymin:ymax:10j]
当维度数量可变时,如何扩展这种方法?即:我的数据可能是(x,y)或(x,y,z)或(x,y,z,q)等。
天真的方法:
Md_data.shape = (M, N),对于 M 维
dmin, dmax = np.amin(Md_data, axis=1), np.amax(Md_data, axis=1)
Md_grid = np.mgrid[dmin:dmax:10j]
不工作