NumPy 中数组拼接、合并详解

NumPy 中数组拼接、合并详解_第1张图片

1、np.append()

1.1、语法

将值添加到数组的末端,返回一个新的数组,而原数组不变。

numpy.append(arr, values, axis=None)
参数 描述
arr : 类数组 输入的数组
values : 类数组 向数组 arr 添加的元素,需要与 arr 维度相同
axis : 整型 添加操作的方向轴,axis 取 0 表示沿竖直方向操作,axis 取 1 表示沿水平方向操作,若未提供 axis 值,在添加操作之前输入数组会被展开为一维数组

1.2、示例

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]]

2、np.concatenate()

2.1、语法

拼接一系列数组。

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")
参数 描述
a1, a2, … : 数组序列 这些数组必须有相同的形状
axis : 整型 拼接时的坐标轴,其默认值为 0,若为 None,则数组在使用前会被展开。
out : (可选参数)暂时不做讨论
dtype : (可选参数)暂时不做讨论
casting : (可选参数)暂时不做讨论

2.2、示例

示例1:一维数组


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]]

示例2:二维数组

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]]

你可能感兴趣的:(Numpy,使用手册,numpy,python,开发语言)