Python numpy实现二维数组和一维数组拼接的方法

撰写时间:2017.5.23

一维数组

1.numpy初始化一维数组

a = np.array([1,2,3]);
print a.shape

输出的值应该为(3,)

二维数组

2.numpy初始化二维数组

a = np.array([[1,2,3]]);
b = np.array([[1],[2],[3]]);

print a.shape//(1,3)
print b.shape//(3,1)

注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组。

拼接

3.numpy有很多的拼接函数。比如hstack和vstack等。网上又很多这样的总结帖子。但是两个数组能拼接的条件就是得满足两个数组的维度要相同。所以二维数组和一维数组拼接的时候需要使用newaxis将一维数组转化为二维数组,也就是shape从(3,)转化为(3,1)。

a = np.array([1,2,3]);
b = np.array([[1],[2],[3]]);
#将一维数组a转化为二维数组
a = a[:,np.newaxis];

c = np.concatenate((b,a),axis=1)
print c.shape//输出为(3,2)

相关推荐