Numpy insert() 函数
Numpy insert() 函数用于沿数组的指定轴插入值。它以数组、一个或多个索引以及要插入的值作为主要参数。
axis 参数指定插入值的轴。如果未指定 axis,则在插入之前将数组展平。
此函数返回一个包含插入值的新数组,原始数组保持不变。
语法
以下是 Numpy insert() 函数的语法 -
numpy.insert(arr, obj, values, axis = None)
参数
以下是 Numpy insert() 函数的参数 -
- arr: 输入数组。
- obj: 插入操作之前的索引。
- values: 要插入的值的数组已插入。
- axis: 插入所沿的轴。如果未指定,则输入数组将被展平。
示例 1
以下是 Numpy insert() 函数的基本示例,其中未传递 axis 参数,因此将生成展平后的数组 -
import numpy as np # 定义初始数组 a = np.array([[1, 2], [3, 4], [5, 6]]) print('第一个数组:') print(a) print(' ') # 插入时不传入 axis 参数(展平数组) print('未传入 axis 参数。插入前,输入数组将被展平。') print(np.insert(a, 3, [11, 12])) print(' ')
输出
第一个数组: [[1 2] [3 4] [5 6]] 未传递 axis 参数。输入数组在插入前已被展平。 [ 1 2 3 11 12 4 5 6]
示例 2
在此示例中,我们将 axis 参数传递给 insert() 函数,并进行广播以匹配输入数组 -
import numpy as np # 定义初始数组 b = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]) print('第一个数组:') print(b) print(' ') print('已传递 axis 参数。值数组已广播以匹配输入数组。') # 使用 axis 参数插入(广播值) # 沿轴 0 广播(插入行) print('沿轴广播0:') print(np.insert(b, 1, [11, 12], axis=0)) print(' ') # 沿轴 1 广播(插入列) print('沿轴 1 广播:') print(np.insert(b, 1, 11, axis=1))
输出
第一个数组: [[1 2] [3 4] [5 6] [7 8]] 已传递 axis 参数。值数组被广播以匹配输入数组。 沿轴 0 广播: [[ 1 2] [11 12] [ 3 4] [ 5 6] [ 7 8]] 沿轴 1 广播: [[ 1 11 2] [ 3 11 4] [ 5 11 6] [ 7 11 8]]