Numpy 拼接数组的各种方式
拼接方法介绍
numpy.append(arr, values, axis=None)
可以拼接一个数组和一个数值或两个数组,但三个及以上数组不能直接append拼接。
>>> import numpy as np
>>> a = np.array([1, 2, 3])
>>> b = np.array([5, 6, 7])
# 拼接一个数组和数值
>>> np.append(a, 4)
array([1, 2, 3, 4])
# 拼接两个数组
>>> np.append(a, b)
array([1, 2, 3, 5, 6, 7])
# 拼接列表成为数组
>>> np.append([1, 2, 3], [[4, 5, 6], [7, 8, 9]])
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 不同坐标轴方向的拼接
>>> np.append([[1, 2, 3], [4, 5, 6]], [[7, 8, 9]], axis=0)
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> c = np.array([[1, 3, 5]])
>>> d = np.array([[2, 4, 6]])
>>> np.append(c, d)
array([1, 3, 5, 2, 4, 6])
>>> np.append(c, d, axis=0)
array([[1, 3, 5],
[2, 4, 6]])
>>> np.append(c, d, axis=1)
array([[1, 3, 5, 2, 4, 6]])
numpy.concatenate((a1, a2, …), axis=0, out=None)
concatenate()比append()效率更高,适合大规模的数据拼接,能够一次完成多个数组的拼接。
其中a1,a2,…是数组类型的参数,传入的数组必须具有相同的形状。
axis 指定拼接的方向,默认axis = 0(逐行拼接)(纵向的拼接沿着axis