创建具有不同形状的numpy数组

时间:2017-05-04 13:49:20

标签: python

我想创建一个numpy array,以便用numpy arrays填充它。例如:

a = [] (simple array or numpy array) 
b = np.array([[5,3],[7,9],[3,8],[2,1]])
a = np.concatenate([a,b])
c = np.array([[1,2],[2,9],[3,0]])
a = np.concatenate([a,c])

我想这样做是因为我有wav文件,我从中提取了一些功能,所以我不能同时读取2个文件但是迭代。 如何创建一个空的ndarray,其中第二个维度是固定的,例如: a.shape = (x,2)或者即使没有创建"存储"我如何连接数组?数组?

2 个答案:

答案 0 :(得分:1)

实际上有2种选择。 第一个是: a = np.empty((0,2)),它创建一个空的np数组,第一个维度变化。 第二个是创建一个空数组 a = [],将np数组附加到数组中,然后使用np.vstack将它们最终连接在一起。后者是最有效的选择。

答案 1 :(得分:0)

你必须在连接函数中使用括号:

b = np.array([[5,3],[7,9],[3,8],[2,1]])
c = np.array([[1,2],[2,9],[3,0]])
a = np.concatenate([b,c])

输出:

[[5 3]
 [7 9]
 [3 8]
 [2 1]
 [1 2]
 [2 9]
 [3 0]]