numpy.insert
numpy.insert(arr, obj, values, axis=None) [source]
沿给定轴在给定索引之前插入值。
参数 : | arr :array_like 输入数组。 obj : 定义在其之前插入值的一个或多个索引的对象。 1.8.0版中的新功能。 当obj是单个标量或具有一个元素的序列时, 支持多次插入(类似于多次调用insert)。 values :array_like 要插入到arr中的值。 如果值的类型与arr的类型不同, 则将值转换为arr的类型。 值的形状 应使 axis : 沿其插入值的轴。 如果 则 |
返回值 : | out :ndarray 插入了值的arr副本。 请注意,
返回一个新数组。 如果 则out是一个扁平数组。 |
Notes
请注意,对于高维插入,obj = 0的行为与obj = [0]的行为非常不同,就像arr [:,0,:] = values 与arr [:,[0],:] = values是不同的一样。
例子
1)在一维数组中插入单个值
import numpy as np
arr = np.array([1, 2, 3, 4])
new_arr = np.insert(arr, 2, 99) # 在索引 2 处插入 99
print(new_arr)
2)在一维数组中插入多个值
import numpy as np
arr = np.array([1, 2, 3, 4])
new_arr = np.insert(arr, [1, 3], [99, 88]) # 在索引 1 处插入 99,索引 3 处插入 88
print(new_arr)
3)在二维数组中插入行(axis=0)
import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.insert(arr, 1, [9, 9], axis=0) # 在索引 1 处插入 [9, 9] 作为新行
print(new_arr)
4)在二维数组中插入列(axis=1)
import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.insert(arr, 1, [9, 9], axis=1) # 在索引 1 处插入新列
print(new_arr)
5)在展平数组(axis=None)上插入值
import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.insert(arr, 2, 99) # 先展平,再插入
print(new_arr)