【发布时间】:2018-12-14 22:02:47
【问题描述】:
我有一个名为“MEL”的 numpy 数组,形状为 (94824,)。
这些值包含不同形状的数组,例如 (99,13)、(54, 13) (87, 13)。我想用零填充小于 (99,13) 的数组,甚至更好地填充该数组的平均值。
MEL = numpy.ndarray and
for i in MEL: i = <class 'numpy.ndarray'> (i.shape = 99, 13) except for the ones that need to be filled
for j in i: j = <class 'numpy.ndarray'>
到目前为止,我有这个:
max_len = np.max([len(a) for a in MEL])
for i in MEL:
i = np.asarray([np.pad(a, (0, max_len - len(a)), 'constant', constant_values=0) for a in i])
但形状保持不变。有什么建议吗?
【问题讨论】:
-
您的 numpy 数组 MEL 如何包含其他数组?我猜 Mel 是一个数组列表。在这种情况下,请注意
len(a)仅返回数组第一个维度的长度。你想如何填充小数组? -
我知道这是一个奇怪的结构,我也不知道如何解决它我在问题中添加了一些关于它的信息
-
我实际上不明白你是如何创建这样一个结构却没有遇到“ValueError: setting an array element with a sequence”的。
-
我没有自己创建结构,而是将其导入为 .npy 文件。