目录
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]]
参考文献