NumPy 函数

NumPy insert() 函数沿给定轴在给定索引之前插入值。

语法

numpy.insert(arr, obj, values, axis=None) 

参数

arr必需。 指定输入数组(array_like)。
obj必填。 指定定义一个或多个索引的对象,在该索引之前插入值。它可以是整数、切片或整数序列。
values必需。 指定要插入到arr中的值。如果值的类型与arr的类型不同,则将值转换为arr的类型。
axis可选。 指定插入值的轴。如果 axis 为 None,则先展平 arr。

返回值

返回插入值的arr的副本。

示例:

在下面的示例中,insert() 函数用于在给定索引处插入标量值。

import numpy as np

Arr = np.array([[10, 20],
                [30, 40]])

#在 axis=None 的数组中插入 5
Arr1 = np.insert(Arr, 1, 5)

#在 axis=0 的数组中插入 5
Arr2 = np.insert(Arr, 1, 5, axis=0)

#在 axis=1 的数组中插入 5
Arr3 = np.insert(Arr, 1, 5, axis=1)

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is (insert with axis=None):")
print(Arr1)
print("\nArr2 is (insert with axis=0):")
print(Arr2)
print("\nArr3 is (insert with axis=1):")
print(Arr3) 

上述代码的输出将是:

Arr is:
[[10 20]
 [30 40]]

Arr1 is (insert with axis=None):
[10  5 20 30 40]

Arr2 is (insert with axis=0):
[[10 20]
 [ 5  5]
 [30 40]]

Arr3 is (insert with axis=1):
[[10  5 20]
 [30  5 40]] 

示例:

在下面的示例中,insert()函数用于在给定索引处插入列表。

import numpy as np

Arr = np.array([[10, 20],
                [30, 40]])

#插入轴=0的列表
Arr1 = np.insert(Arr, 1, [100, 200], axis=0)

#插入轴=1的列表
Arr2 = np.insert(Arr, 1, [100, 200], axis=1)

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is (insert with axis=0):")
print(Arr1)
print("\nArr2 is (insert with axis=1):")
print(Arr2) 

上述代码的输出将是:

Arr is:
[[10 20]
 [30 40]]

Arr1 is (insert with axis=0):
[[ 10  20]
 [100 200]
 [ 30  40]]

Arr2 is (insert with axis=1):
[[ 10 100  20]
 [ 30 200  40]] 

示例:

可以插入列表在数组的多个索引处。考虑下面的示例:

import numpy as np

Arr = np.array([[10, 20, 30],
                [40, 50, 60],
                [70, 80, 90]])

list1 = [1, 2, 3]
list2 = [[1], [2], [3]]
#插入轴=0的列表
Arr1 = np.insert(Arr, [1, 2], list1, axis=0)

#插入轴=1的列表
Arr2 = np.insert(Arr, [1, 2], list2, axis=1)

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is (insert with axis=0):")
print(Arr1)
print("\nArr2 is (insert with axis=1):")
print(Arr2) 

上述代码的输出将是:

Arr is:
[[10 20 30]
 [40 50 60]
 [70 80 90]]

Arr1 is (insert with axis=0):
[[10 20 30]
 [ 1  2  3]
 [40 50 60]
 [ 1  2  3]
 [70 80 90]]

Arr2 is (insert with axis=1):
[[10  1 20  1 30]
 [40  2 50  2 60]
 [70  3 80  3 90]]