python
主页 > 脚本 > python >

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

2023-10-17 | 佚名 | 点击:

numpy.insert()主要用于向矩阵中插入行或列。对于多维矩阵,可以沿任意一个轴插入元素。

1. 参数说明

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. 插入一列,值为标量

1

2

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. 插入一列,值为一维矩阵

1

np.insert(a, [1], [[1],[2],[3]], axis=1)

2.3. 插入多列,值为标量

注意:索引值不能超过维度的最大索引,也就是说只能在某一维的中间插值,不能在末尾插入。

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

1

2

print(np.insert([1,2,3,4],1,5))

[1 5 2 3 4]

在向量 [1,2,3,4] 的第1个元素前面的位置插入5,第2个元素前面的位置插入7

1

2

print(np.insert([1,2,3,4],[1,2],[5,7]))

[1 5 2 7 3 4]

2.5. 输入为矩阵

插入一整行

1

2

3

4

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]]

原文链接:
相关文章
最新更新