拼接不会改变数组的维度,而堆叠会增加新的轴。
一,拼接
如果要把两份数据组合到一起,需要拼接操作。
numpy.concatenate((a1, a2, ...), axis=0, out=None)
参数axis默认值是0,标识按照行来拼接,如果设置为None,那么所有的数组将展开为一维,并拼接在一起。
对二维数组进行拼接
x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.array([[7, 8, 9], [10, 11, 12]])
z = np.concatenate([x, y], axis=0)
print(z)
# [[ 1 2 3]
# [ 4 5 6]
# [ 7 8 9]
# [10 11 12]]
z = np.concatenate([x, y], axis=1)
print(z)
# [[ 1 2 3 7 8 9]
# [ 4 5 6 10 11 12]]
二,堆叠,沿着新加入数组
np.stack的作用是沿着新的轴堆叠一个数组:
- 沿新轴:默认是axis=0
- 加入数组是指:新生成的数组会比用来进行拼接的原数组多一个维度.
一维数组相当于是1行N列的数组,当使用column_stack()时,该一维数组作为一个新列;当使用hstack()函数时,为原始数组新增N列;当使用vstack()函数时,为原始数组新增1行。
1,把一维数组作为列添