将值添加到数组的末端,返回一个新的数组,而原数组不变。
numpy.append(arr, values, axis=None)
参数 | 描述 |
---|---|
arr : 类数组 | 输入的数组 |
values : 类数组 | 向数组 arr 添加的元素,需要与 arr 维度相同 |
axis : 整型 | 添加操作的方向轴,axis 取 0 表示沿竖直方向操作,axis 取 1 表示沿水平方向操作,若未提供 axis 值,在添加操作之前输入数组会被展开为一维数组 |
arr = np.array([[1,2,3,4],[5,6,7,8]])
print('原数组:', arr)
>>> 原数组:[[ 1 2 3 4 ]
[ 5 6 7 8 ]]
arr1 = np.append(arr,[[9,10],[11,12]])
print('直接添加元素:', arr1)
>>> 直接添加元素: [ 1 2 3 4 5 6 7 8 9 10 11 12 ]
arr2 = np.append(arr,[[9,10,11,12],[11,11,11,11]], axis=0)
print('沿轴 0 添加元素:', arr2)
>>> 沿轴 0 添加元素: [[ 1 2 3 4 ]
[ 5 6 7 8 ]
[ 9 10 11 12]
[ 11 11 11 11]]
arr3 = np.append(arr,[[9,10],[11,12]], axis=1)
print('沿轴 1 添加元素:', arr3)
>>> 沿轴 1 添加元素: [[ 1 2 3 4 9 10]
[ 5 6 7 8 11 12]]
拼接一系列数组。
numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")
参数 | 描述 |
---|---|
a1, a2, … : 数组序列 | 这些数组必须有相同的形状 |
axis : 整型 | 拼接时的坐标轴,其默认值为 0,若为 None,则数组在使用前会被展开。 |
out : | (可选参数)暂时不做讨论 |
dtype : | (可选参数)暂时不做讨论 |
casting : | (可选参数)暂时不做讨论 |
x = np.array([1, 2, 3])
print("x:", x)
>>> x: [1 2 3]
y = np.array([4, 5, 6])
print("y:", y)
>>> y: [4 5 6]
z = np.concatenate((x, y))
print("z:", z)
>>> z: [1 2 3 4 5 6]
# --------------------------------------------------------
x1 = np.array([[1], [2], [3]])
print("x1:", x1)
>>> x1: [[1]
[2]
[3]]
y1 = np.array([[4], [5], [6]])
print("y1:", y1)
>>> y1: [[4]
[5]
[6]]
z1 = np.concatenate((x1, y1))
print("z1:", z1)
>>> z1: [[1]
[2]
[3]
[4]
[5]
[6]]
x = np.array([[1, 2], [3, 4]])
print("x:", x)
>>> x: [[1 2]
[3 4]]
y = np.array([[5, 6], [7, 8]])
print("y:", y)
>>> y: [[5 6]
[7 8]]
z = np.concatenate((x, y), axis=0)
print("z:", z)
>>> z: [[1 2]
[3 4]
[5 6]
[7 8]]
z1 = np.concatenate((x, y), axis=1)
print("z1:", z1)
>>> z1: [[1 2 5 6]
[3 4 7 8]]