如何将填充应用于数组列表?

时间:2019-11-30 20:14:56

标签: python arrays numpy padding mfcc

我具有此功能填充功能。

它需要X(尺寸为(13,n)的numpy数组的列表,其中n在每个数组的0-99之间变化)并返回并返回X_new,这也应该是填充后形状均为(13,99)的numpy数组的列表。

X_new = []
for x in X:
    shp_1 = len(x[1])
    if shp_1 != targetdim:
        X_new.append(np.pad(x[1], (0, targetdim - shp_1), 'constant', constant_values=0))
    else:
        X_new.append(x)

通过检查X_new

中数组的形状来检查其输出
(13, 99)   #correct dimensions 
(13, 99)
(99,)      #wrong 
(13, 99)
(13, 99)
(13, 99)
(13, 99)
(99,)
(13, 99)
(99,)
(13, 99)

X_new.append(np.pad(x[1], (0, targetdim - shp_1), 'constant', constant_values=0))可以按预期方式工作,如果需要,可以将x [1]列填充到99。

问题在于该函数仅将x[1]中的填充数组附加到new_list, x[0]上,而被丢弃。 结果是在应用填充的情况下,输出形状为(99,),而不是所需的(13,99)

我的问题是如何通过附加解决此问题?

简而言之,我的目标是复制带有填充数组列表的列表X,也欢迎实现此目标的任何其他方法。

0 个答案:

没有答案