数组常用操作中np.delete用法

一、函数

np.delete(array,obj,axis)

二、函数的意思

array:需要处理的矩阵

obj:需要处理的位置(索引),比如取0或1就代表要删除的第一行或者第二行

axis:

如果输入为None:array会先按行展开,然后按照obj,删除对应这个索引位置的数(索引从0开始),返回一个行矩阵。

如果输入为0:按行删除

如果输入为1:按列删除

三、代码例子

1、axis输入为None

import numpy as np
a = np.array([[1,2],[3,4],[5,6]])
a_1 = np.delete(a,2,None) #按行展开后,删除第2 +1个数,因为是从0开始的
print(a_1)

在这里插入图片描述

2、axis输入为0,表示删除一行

import numpy as np
a = np.array([[1,2],[3,4],[5,6]])
a_1 = np.delete(a,0,0)  #删除第一行
print(a_1)

在这里插入图片描述

import numpy as np
a = np.array([[1,2],[3,4],[5,6]])
a_1 = np.delete(a,[0,1],0)
print(a_1)

在这里插入图片描述

3.axis输入为1

import numpy as np
a = np.array([[1,2,7],[3,4,8],[5,6,9]])
a_1 = np.delete(a,0,1) #删除第一列
print(a_1)

在这里插入图片描述

import numpy as np
a = np.array([[1,2,7],[3,4,8],[5,6,9]])
a_1 = np.delete(a,[0,2],1)
print(a_1)

在这里插入图片描述

4. 一般用时会将np.delete和np.where相结合,即obj参数有np.where代替:

np.where有两种用法
1).np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,当条件成立时where方法返回x,当条件不成立时where返回y
2).np.where(condition) 当where内只有一个参数时,那个参数表示条件,当条件成立时,where返回的是每个符合condition条件元素的索引,返回的是以元组的形式,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。
具体去看np.where()的使用方法

#velo的shape是(4, 1791),表示有1791个lidar点,4分别表示是x,y,z,intensity。下面这行代码的意思就是过滤不满足z的点。
velo = np.delete(velo,np.where(velo[2,:]<-1.73),axis=1)#kitti的lidar高度为1.73,过滤地面的点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值