numpy.insert()主要用于向矩阵中插入行或列。对于多维矩阵,可以沿任意一个轴插入元素。
1. 参数说明
numpy.insert(arr, obj, values, axis=None)
arr:输入矩阵,numpy.array类型。注意:该方法并不改变直接arr的值,而是返回一个
obj:索引,整数或整数串。例如可以只插入一行元素,也可以插入多行元素,多行可以是连续的(如第0行和第1行),也可以是分立的(如第2行和第4行)。
values:插入的值,numpy.array类型
axis:插入的轴,整型
返回值:得到的矩阵,numpy.array类型
2. 示例
2.1. 插入一列,值为标量
a = np.array([[1, 1], [2, 2], [3, 3]])
np.insert(a, 1, 5, axis=1)
结果
array([[1, 5, 1],
[2, 5, 2],
[3, 5, 3]])
2.2. 插入一列,值为一维矩阵
np.insert(a, [1], [[1],[2],[3]], axis=1)
2.3. 插入多列,值为标量
注意:索引值不能超过维度的最大索引,也就是说只能在某一维的中间插值,不能在末尾插入。
x = np.arange(8).reshape(2, 4)
idx = (1, 3)
np.insert(x, idx, 999, axis=1)
结果
array([[ 0, 999, 1, 2, 999, 3],
[ 4, 999, 5, 6, 999, 7]])
2.4. 输入为一维向量
在向量 [1,2,3,4] 的第1个元素前面的位置插入5
print(np.insert([1,2,3,4],1,5))
[1 5 2 3 4]
在向量 [1,2,3,4] 的第1个元素前面的位置插入5,第2个元素前面的位置插入7
print(np.insert([1,2,3,4],[1,2],[5,7]))
[1 5 2 7 3 4]
2.5. 输入为矩阵
插入一整行
import numpy as np
a = a = np.array([[1, 1], [2, 2], [3, 3]])
print('a=',a)
print('after insertion:\n',np.insert(a,[1],[6,6],axis=0))
结果
a= [[1 1]
[2 2]
[3 3]]
after insertion:
[[1 1]
[6 6]
[2 2]
[3 3]]
参考文献
numpy.insert — NumPy v1.24 Manual
到此这篇关于numpy.insert()的具体使用方法的文章就介绍到这了,更多相关numpy.insert()使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!