我有一个包含 32 个 numpy 数组的列表,每个数组的形状都是 (n, 108, 108, 2)
,其中 n
在每个数组中都是不同的。我想将它们全部堆叠起来以创建一个形状为 (32, m, 108, 108, 2)
的 numpy 数组,其中 m
是 中的最大值n
s,较短的数组用零填充。
我该怎么做?
我问了something similar昨天,但在我的情况下使用深度数组时,那里的答案似乎中断了。
具体来说,我最终采用了这个解决方案,它产生了最干净的代码:
data = np.column_stack(zip_longest(*data, fillvalue=0))
但现在它抛出这个错误:
ValueError: setting an array element with a sequence.
最佳答案
我在 this webpage 中找到了神的答案.
pad_sequences
函数正是我所需要的。
from tensorflow.python.keras.preprocessing.sequence import pad_sequences
result = pad_sequences(imgs, padding='post')
关于python - 用填充堆叠 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53071212/