在做数据处理时,经常需要数据拼接。Numpy中常用的数据拼接方式有三种np.vstack()、np.hstack()和np.concatenate()。其中前两种方式等价于后一种方式,不过后一种方式需要用参数axis控制数据拼接的方向。axis=1是横向拼接,axis=0是竖向拼接见下图。
横向拼接:np.hstack()
竖向拼接:np.vstack()
import numpy as np
arr1=np.array([1,2,3])
arr2=np.array([4,5,6])
print(np.vstack((arr1,arr2)))
[[1 2 3]
[4 5 6]]
print(np.hstack((arr1,arr2)))
[1 2 3 4 5 6]
a1=np.array([[1,2],[3,4],[5,6]])
a2=np.array([[7,8],[9,10],[11,12]])
print(a1)
[[1 2]
[3 4]
[5 6]]
print(a2)
[[ 7 8]
[ 9 10]
[11 12]]
print(np.vstack((a1, a2)))
[[ 1 2]
[ 3 4]
[ 5 6]
[ 7 8]
[ 9 10]
[11 12]]
参考文献
[1]Python之NumPy(axis=0 与axis=1)区分详解
[2]np.vstack()和np.hstack()