son*_*ice 5 numpy numpy-ndarray
我有一个 numpy 数组,其维度为12 x 12 x 4。现在我试图向这个立方体添加一个额外的层,从而形成一个12 x 13 x 4数组。第 13 层应包含来自第一个轴的相应索引,因此例如寻址[7, 13, :]结果为[7, 7, 7, 7]。
很难解释,但也许有人对如何使用 numpy 实现这一目标有一些建议?
编辑:我找到了一个解决方案,尽管它看起来有点过于复杂:
# Generate extra layer
layer = np.repeat(np.arange(0, 12)[:, np.newaxis], data.shape[2], axis=1)
# Get dimensions right...
layer = np.expand_dims(layer, axis=1)
# ... and finally append to data
result = np.append(data, layer, axis=1)
Run Code Online (Sandbox Code Playgroud)
仍然欢迎更好的建议。
你的想法是正确的。稍微简化一下:
layer = np.repeat(np.arange(3)[:,None,None], data.shape[2], axis=2)
result = np.concatenate((data, layer), axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4888 次 |
| 最近记录: |