我试图向某些变量添加零,以使它们具有相同的长度(100)并将它们放入屏蔽表中。
将零连接到我的变量 propNum
时效果很好,该变量是一个数字,但当我尝试使用我的变量 time_04_window
时,它会创建一个 (2,) 长度的数组有 62 个值。
有效的代码:
propNum = 100
table_propNum = np.concatenate([[propNum], np.zeros(len(x)-1, dtype=float)])
不工作的代码:
time_04_window = [ 20029625.91881907 20029626.91881907 20029627.91881907 20029628.91881907 20029629.91881907 20029630.91881907 20029631.91881907 20029632.91881907 20029633.91881907 20029634.91881907 20029635.91881907 20029636.91881907 20029637.91881907 20029638.91881907 20029639.91881907 20029640.91881907 20029641.91881907 20029642.91881907 20029643.91881907 20029644.91881907 20029645.91881907 20029646.91881907 20029647.91881907 20029648.91881907 20029649.91881907 20029650.91881907 20029651.91881907 20029652.91881907 20029653.91881907 20029654.91881907 20029655.91881907 20029656.91881907 20029657.91881907 20029658.91881907 20029659.91881907 20029660.91881907 20029661.91881907 20029662.91881907 20029663.91881907 20029664.91881907 20029665.91881907 20029666.91881907 20029667.91881907 20029668.91881907 20029669.91881907 20029670.91881907 20029671.91881907 20029672.91881907 20029673.91881907 20029674.91881907 20029675.91881907 20029676.91881907 20029677.91881907 20029678.91881907 20029679.91881907 20029680.91881907 20029681.91881907 20029682.91881907 20029683.91881907 20029684.91881907 20029685.91881907 20029686.91881907]
table_time_04_window = np.concatenate([[time_04_window], np.zeros(len(x)-len(time_04_window), dtype='i')])
len(x) = 100
因此,time_04_window
是一个长度为 62 且全部为 float 的数组,我想向该数组添加 38 个零,使其长度为 100。
起初它运行的是table_time_04_window
,现在它给了我
ValueError: all the input arrays must have same number of dimension
最佳答案
您应该传递 time_04_window
而不是 [time_04_window]
,这是维度问题,即
In [11]: table_time_04_window = np.concatenate([time_04_window, np.zeros(100-len(time_04_window), dtype='i')])
注意:您也可以使用 np.pad
右填充,而不是连接:
In [21]: np.pad(np.array([1, 2, 3]), (0, 5), mode='constant')
Out[21]: array([1, 2, 3, 0, 0, 0, 0, 0])
关于python - np.concatenate() 二维数组而不是一维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46958377/