gpt4 book ai didi

numpy - 使用 Numpy 将 "layer"附加到 3D 数组

转载 作者:行者123 更新时间:2023-12-04 13:45:53 25 4
gpt4 key购买 nike

我有一个尺寸为 12 x 12 x 4 的 numpy 数组.现在我试图给这个立方体添加一个额外的层,结果是 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)

仍然开放以获得更好的建议。

最佳答案

你有正确的想法。稍微简化一下:

layer = np.repeat(np.arange(3)[:,None,None], data.shape[2], axis=2)
result = np.concatenate((data, layer), axis=1)

关于numpy - 使用 Numpy 将 "layer"附加到 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48646485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com