📜  Python中的numpy.insert

📅  最后修改于: 2020-06-08 00:04:31             🧑  作者: Mango

numpy.insert(array, object, values, axis = None) :  沿提及的轴在给定索引之前插入值。|

参数:

array:[array_like]输入数组。
object:[int,ints数组]具有一个或多个下标的子数组
     插入哪些值
values:要在arr中添加的[array_like] values。值应为
     形状使arr [...,obj,...] =值。如果值的类型不同于
     将arr的值转换为arr的类型
axis:我们要沿其插入值的轴。默认情况下
     对象应用于平面数组

返回值:

沿着给定轴按照上述对象插入具有值的数组副本。

代码1:从一维数组中删除

# Python程序说明numpy.insert() 
  
import numpy as geek 
  
# 处理一维 
arr = geek.arange(5) 
print("1D arr : \n", arr) 
print("形状 : ", arr.shape) 
  
# value = 9 
# index = 1    
# 在第一个索引之前插入 
a = geek.insert(arr, 1, 9) 
print("\n插入后的数组 : ", a) 
print("形状 : ", a.shape) 
  
  
# 处理二维阵列  
arr = geek.arange(12).reshape(3, 4) 
print("\n\n2D arr : \n", arr) 
print("形状 : ", arr.shape) 
  
a = geek.insert(arr, 1, 9, axis = 1) 
print("\n插入后的数组 : \n", a) 
print("形状 : ", a.shape) 

输出:

1D arr:
 [0 1 2 3 4] 
形状:(5,)

插入后的数组:[0 9 1 2 3 4] 
形状:(6,)


2D arr:
 [[0 1 2 3] 
 [4 5 6 7] 
 [8 9 10 11]] 
形状:(3,4)

插入后的数组:
 [[0 9 1 2 3] 
 [4 9 5 6 7] 
 [8 9 9 10 11]] 
形状:(3,5)

代码2:使用标量

# Python程序说明numpy.insert()
  
import numpy as geek 
  
# 处理二维阵列  
arr = geek.arange(12).reshape(3, 4) 
print("2D arr : \n", arr) 
print("Shape : ", arr.shape) 
  
# 使用标量 
a = geek.insert(arr, [1], [[6],[9],], axis = 0) 
print("\nArray after insertion : \n", a) 
print("Shape : ", a.shape) 
  
# 使用标量 
a = geek.insert(arr, [1], [[8],[7],[9]], axis = 1) 
print("\nArray after insertion : \n", a) 
print("Shape : ", a.shape) 

输出:

2D arr:
 [[0 1 2 3] 
 [4 5 6 7] 
 [8 9 10 11]] 
形状:(3,4)

插入后的数组:
 [[0 1 2 3] 
 [6 6 6 6] 
 [9 9 9 9] 
 [4 5 6 7] 
 [8 9 10 11]] 
形状:(5,4)

插入后的数组:
 [[0 8 1 2 3] 
 [4 7 5 6 7] 
 [8 9 9 10 11]] 
形状:(3,5)

代码3:在不同点插入

# Python程序说明numpy.insert()
  
import numpy as geek 
  
# 处理一维 
arr = geek.arange(6).reshape(2, 3) 
print("1D arr : \n", arr) 
print("形状 : ", arr.shape) 
  
# value = 9 
# index = 1    
# 在第一个索引之前插入 
a = geek.insert(arr, (2, 4), 9) 
print("\n两点插入 : ", a) 
print("形状 : ", a.shape) 
  
  
# 处理二维阵列  
arr = geek.arange(12).reshape(3, 4) 
print("\n\n2D arr : \n", arr) 
print("形状 : ", arr.shape) 
a = geek.insert(arr, (0, 3), 66, axis = 1) 
print("\n两点插入 : \n", a) 
print("形状 : ", a.shape) 

输出:

1D arr:
 [[0 1 2] 
 [3 4 5]] 
形状:(2,3)

两点插入:[0 1 9 2 3 9 4 5] 
形状:(8,)


2D arr:
 [[0 1 2 3] 
 [4 5 6 7] 
 [8 9 10 11]] 
形状:(3,4)

两点插入:
 [[66 0 1 2 66 3] 
 [66 4 5 6 66 7] 
 [66 8 9 10 66 11]] 
形状:(3,6)