首页 > 解决方案 > 在python中生成多维网格

问题描述

我有一个离散的 8 维有界空间,我想在所有可能的组合上获得一个网格,形状为 (N,8)。它应该看起来像:

import numpy as np
myGrid = np.array([[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,2],...])

所有 8 个维度的边界都不相等。

标签: python-3.xnumpygrid

解决方案


您可以使用indicesmoveaxis

np.moveaxis(np.indices(<your shape>), 0, -1).reshape(-1, 8)

这将从零开始,因此添加 1 以获得您想要的输出。


推荐阅读