当前位置: 首页 > news >正文

数组常用操作中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,过滤地面的点

相关文章:

  • C++入门-----初始化列表
  • JavaScript—正则
  • 草莓熊python turtle绘图代码
  • 5.3 马氏链-常返和非常返(Durrett)
  • 【已解决】利用 Java 多线程并发编程提高数据处理效率
  • Spring日志引用原理
  • 项目实战 | 基于RK3566开发板实现USB摄像头推流(ffmpeg+nginx)
  • 进程的程序替换
  • 9. SQL中Insert into/Update/Delete的用法
  • 【webGoat】Path traversal
  • 前后端分离的项目——图书管理系统
  • 【C++修炼秘籍】类和对象(一)
  • 【已解决】利用 Java 多线程并发编程处理数据的实践记录
  • Roson的Qt之旅 #125 QNetworkCookie(网络Cookie)
  • SpringMVC入门案例的步骤
  • 2017-08-04 前端日报
  • css选择器
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • echarts的各种常用效果展示
  • flutter的key在widget list的作用以及必要性
  • overflow: hidden IE7无效
  • rc-form之最单纯情况
  • React系列之 Redux 架构模式
  • Spark学习笔记之相关记录
  • 动态规划入门(以爬楼梯为例)
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 如何选择开源的机器学习框架?
  • 数据仓库的几种建模方法
  • 为什么要用IPython/Jupyter?
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 一些关于Rust在2019年的思考
  • 智能合约Solidity教程-事件和日志(一)
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • # 数论-逆元
  • #includecmath
  • #pragma multi_compile #pragma shader_feature
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (007)XHTML文档之标题——h1~h6
  • (07)Hive——窗口函数详解
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (windows2012共享文件夹和防火墙设置
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (三)终结任务
  • (一)基于IDEA的JAVA基础12
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...