如何追加两个NumPy数组
python中的两个数组可以用多种方式进行追加,下面将讨论所有可能的方式。
方法1:使用append()方法
该方法用于将数值追加到一个数组的末尾。
语法 :
numpy.append(array, values, axis = None)
参数 :
- array:[array_like]输入数组。
- values : [array_like]将被添加到Arr中的值。值应该是
形成,因此arr[…,obj,…] = values。如果轴被定义了,数值可以是任何的
形状,因为它在使用前会被压扁。 -
axis:我们想沿着这个轴插入数值。默认情况下,数组是扁平化的。
返回 :
一个数组的副本,其值被附加在所述对象的末尾,沿着给定的轴。
示例:
import numpy
array1 = numpy.array([1, 2, 3, 4, 5])
array2 = numpy.array([6, 7, 8, 9, 10])
# Appending both arrays using Append method
array1 = numpy.append(array1, array2)
print(array1)
输出:
[ 1 2 3 4 5 6 7 8 9 10]
方法2:使用concatenate()方法
连接方法 沿着现有的轴线连接一连串的数组。
语法 :
numpy.concatenate((arr1, arr2, ...), axis=0, out=None)
参数 :
- arr1, arr2, … : [类似数组的序列] 数组必须具有相同的形状,除了在与轴对应的维度。
- axis : [int, optional] 数组将沿着的轴线连接。如果axis为None,数组在使用前会被压扁。默认为0。
- out : [ndarray, optional] 如果提供,则是放置结果的目的地。形状必须正确,与没有指定out参数的情况下concatenate返回的结果一致。
返回: [ndarray] 连接的数组。
示例:
import numpy
array1 = numpy.array([1, 2, 3, 4, 5])
array2 = numpy.array([6, 7, 8, 9, 10])
# Appending both Arrays using concatenate() method.
array1 = numpy.concatenate([array1, array2])
print(array1)
输出:
[ 1 2 3 4 5 6 7 8 9 10]
方法3:使用stack()方法
堆栈方法 沿着一个新的轴连接一个数组序列。
语法 : numpy.stack(arrays, axis)
参数 :
- arrays : [array_like] 相同形状的数组序列。
- axis : [int] 结果数组中的轴,输入的数组沿着这个轴被堆叠。
返回: [stacked ndarray] 输入数组的叠加数组,它比输入数组多一个维度。
示例:
import numpy
array1 = numpy.array([1, 2, 3, 4, 5])
array2 = numpy.array([6, 7, 8, 9, 10])
# Join a sequence of arrays along a new axis.
array1 = numpy.stack([array1, array2])
print(array1)
输出:
[[ 1 2 3 4 5]
[ 6 7 8 9 10]]
方法4:使用hstack()方法
hstack方法 将数组按水平方向(列)依次堆叠。
语法 : numpy.hstack(tup)
参数 :
- tup : [sequence of ndarrays] 包含要堆叠的数组的元组。这些数组除了第二轴外,必须具有相同的形状。
返回: [stacked ndarray] 输入数组的叠加数组。
示例:
import numpy
array1 = numpy.array([1, 2, 3, 4, 5])
array2 = numpy.array([6, 7, 8, 9, 10])
# Stack arrays in sequence horizontally (column wise).
array1 = numpy.hstack([array1, array2])
print(array1)
输出:
[ 1 2 3 4 5 6 7 8 9 10]
方法5:使用vstack()方法
vstack方法 将数组按顺序垂直堆叠(从行开始)。
语法 : numpy.vstack(tup)
参数 :
- tup : [sequence of ndarrays] 包含要堆叠的数组的元组。这些数组除了第一个轴以外,必须具有相同的形状。
返回: [stacked ndarray] 输入数组的叠加数组。
示例:
import numpy
array1 = numpy.array([1, 2, 3, 4, 5])
array2 = numpy.array([6, 7, 8, 9, 10])
# Stack arrays in sequence vertically (row wise).
array1 = numpy.vstack([array1, array2])
print(array1)
输出:
[[ 1 2 3 4 5]
[ 6 7 8 9 10]]
方法6:使用column_stack()方法
column_stack()方法 将数组作为列堆积到一个二维数组中。
语法: column_stack( array)
import numpy
array1 = numpy.array([1, 2, 3, 4, 5])
array2 = numpy.array([6, 7, 8, 9, 10])
# Stack 1-D arrays as columns into a 2-D array.
array1 = numpy.column_stack([array1, array2])
print(array1)
输出:
[[ 1 6]
[ 2 7]
[ 3 8]
[ 4 9]
[ 5 10]]