numpy.insert()的具体使用方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

numpy.insert()的具体使用方法

patrickpdx   2023-03-20 我要评论

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们