如何增加NumPy int32数组的维度?

2022-04-18 00:00:00 python numpy arrays reshape

问题描述

我有一个名为a的数值int32数组,其形状为(4, 8, 3)。我想将此数组重塑为(4, 12, 3)大小的数组。我该怎么做?

我已尝试使用reshape,但reshape要求数组大小相同。


解决方案

我可能错了,但是:Numy数组不应该以这种方式变异。 当您进行重塑时,实际上只是更改了读取字节/元素的顺序/方式

您要做的是创建一个更大的新数组,它包含前一个数组的数据以及其他内容。你必须告诉小胖子你想把新的东西放在哪里,把旧的东西放在哪里。

即:

new_array = np.zeros((4, 12, 3))
new_array[:, :8, :] = old_array

此示例在数组的第二维末尾添加4个附加"列"。

相关文章