np.concatenate()2D数组而不是1D

时间:2017-10-26 15:35:11

标签: python arrays python-2.7 numpy

我正在尝试将零添加到某些变量中,以使它们具有相同的长度(100,)并将它们放入蒙版表中。

当我将变量propNum连接为单个数字时,它可以正常工作,但是当我使用具有62个值的变量time_04_window进行尝试时,它会创建一个(2,)长度数组。

有效的代码:

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且所有浮点数的数组,我想在数组中添加38个零,使其长度为100。

起初它正在为table_time_04_window运行,现在它正在给我

  

ValueError:所有输入数组必须具有相同的维数

1 个答案:

答案 0 :(得分:2)

您应该通过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])