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