python - np.concatenate() 二维数组而不是一维

标签 python arrays python-2.7 numpy

我试图向某些变量添加零,以使它们具有相同的长度(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/

相关文章:

python - Django 1.8(Python 3.4): Show different templates based on user authorization with Class-Based Views

javascript - 在 JavaScript 中,递归地从一组数组构建字典/嵌套对象

c# - 为什么 .net 中的数组只实现 IEnumerable 而不是 IEnumerable<T>?

java - Java/Python 中的自动文本反馈分析

python - 未找到 matplotlib 字体

c - 为什么我不能让这个数组更大?

python-2.7 - 使用 random.choice 列出索引超出范围错误

python-2.7 - 使用来自另一个栅格的数据填充 geotiff 中的无数据值

python - 将字符串元组转换为元组

Python pymySQL 发送带引号的字符串