📜  Python|在 numpy 数组中添加行列的方法(1)

📅  最后修改于: 2023-12-03 15:34:18.820000             🧑  作者: Mango

在 numpy 数组中添加行列的方法

在 numpy 中,我们可以使用以下方法来添加新的行列到一个数组中:

  1. numpy.append(arr, values, axis=None): 将 values 数组添加到 arr 数组的结尾

  2. numpy.insert(arr, obj, values, axis=None): 在 arr 数组的指定位置 obj 插入 values 数组

  3. numpy.concatenate((arr1, arr2, ...), axis=0): 沿着指定的轴 axis 连接 arr1, arr2, ... 数组。

下面我们逐一介绍这三种方法的使用方法。

numpy.append(arr, values, axis=None)

使用 numpy.append() 方法向数组 arr 中添加新的 values

import numpy as np

# 创建一个 2x2 的数组
arr = np.array([[1, 2], [3, 4]])

# 添加新的一行 [5, 6] 到数组末尾
new_arr = np.append(arr, [[5, 6]], axis=0)

# 添加新的一列 [7, 8] 到数组末尾
new_arr = np.append(arr, [[7], [8]], axis=1)

print(new_arr)
# 输出:
# [[1 2 7]
#  [3 4 8]]

在上面的示例中,我们使用了两次 numpy.append() 方法来添加新的行和列。其中,axis 参数指定了添加的方向。当 axis 参数为 None 时,会将 values 展开成一维数组,并添加到 arr 数组的末尾。

numpy.insert(arr, obj, values, axis=None)

使用 numpy.insert() 方法向数组 arr 中插入新的 values

import numpy as np

# 创建一个 2x2 的数组
arr = np.array([[1, 2], [3, 4]])

# 在第一行之前插入新的一行 [5, 6]
new_arr = np.insert(arr, 0, [5, 6], axis=0)

# 在第一列之前插入新的一列 [7, 8]
new_arr = np.insert(arr, 0, [7, 8], axis=1)

print(new_arr)
# 输出:
# [[7 1 2]
#  [8 3 4]]

在上面的示例中,我们使用了两次 numpy.insert() 方法来插入新的行和列。其中,obj 参数指定了插入的位置。当 axis 参数为 None 时,会将 values 展开成一维数组,并插入到 arr 数组的指定位置。

numpy.concatenate((arr1, arr2, ...), axis=0)

使用 numpy.concatenate() 方法连接多个数组,组成一个新的大数组:

import numpy as np

# 创建两个 2x2 的数组
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])

# 沿着行的方向连接 arr1 和 arr2 数组
new_arr = np.concatenate((arr1, arr2), axis=0)

# 沿着列的方向连接 arr1 和 arr2 数组
new_arr = np.concatenate((arr1, arr2), axis=1)

print(new_arr)
# 输出:
# [[1 2 5 6]
#  [3 4 7 8]]

在上面的示例中,我们使用了 numpy.concatenate() 方法来连接 arr1arr2 两个数组。其中,axis 参数指定了连接的方向。当 axis 参数为 None 时,会将多个数组沿着新的第一个维度进行连接。