numpy ndarray 取出满足特定条件的某些行实例


Posted in Python onDecember 05, 2019

在进行物体检测的ground truth boxes annotations包围框坐标数据整理时,需要实现这样的功能:

numpy里面,对于N*4的数组,要实现对于每一行,如果第3列和第1列数值相等或者第2列和第0列数值相等,就删除这一行,要返回保留下来的numpy数组 shape M*4

对于numpy数组的操作要尽量避免for循环,因为numpy数组支持布尔索引。

import numpy as np

a1=np.array(
  [1,0,1,5]
)
a2=np.array(
  [0,8,5,8]
)
center=np.random.randint(0,10,size=(3,4))
# print(a1.shape,a2.shape,center.shape)
b=np.vstack((a1,center,a2))
'''

numpy vstack 所输入的参数必须是list或者tuple的iterable对象,在竖直方向上进行数组拼接

其中list或者tuple中的每个元素是numpy.ndarray类型

它们必须具有相同的列数,拼接完成后行数增加

numpy hstack 在水平方向上进行数组拼接

进行拼接的数组必须具有相同的行数,拼接完成后列数增加

'''
print(b.shape,b)
out=b[b[:,3]!=b[:,1]]
out2=out[out[:,2]!=out[:,0]]
print(out2.shape,out2)
'''
(5, 4) 
[[1 0 1 5]
 [6 9 9 1]
 [9 1 6 5]
 [2 8 8 1]
 [0 8 5 8]]
(3, 4) 
[[6 9 9 1]
 [9 1 6 5]
 [2 8 8 1]]
'''
b1=a1.reshape(-1,1)
b2=a2.reshape(-1,1)
before_list=[]
before_list.append(b1)
before_list.append(center.reshape(4,3))
before_list.append(b2)
out3=np.hstack(before_list)
print(out3.shape)#(4, 5)

以上这篇numpy ndarray 取出满足特定条件的某些行实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python的四种内置数据结构
Mar 19 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
python 搜索大文件的实例代码
Jul 08 Python
Python threading的使用方法解析
Aug 28 Python
Python 列表的清空方式
Jan 13 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
Django Model中字段(field)的各种选项说明
May 19 Python
解决python调用自己文件函数/执行函数找不到包问题
Jun 01 Python
如何通过命令行进入python
Jul 06 Python
详解python安装matplotlib库三种失败情况
Jul 28 Python
python中time.ctime()实例用法
Feb 03 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 #Python
Python 寻找局部最高点的实现
Dec 05 #Python
解决pycharm 安装numpy失败的问题
Dec 05 #Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 #Python
Python for i in range ()用法详解
Sep 18 #Python
关于sys.stdout和print的区别详解
Dec 05 #Python
flask实现验证码并验证功能
Dec 05 #Python
You might like
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
在Python中操作字典之clear()方法的使用
2015/05/21 Python
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
python实现将内容分行输出
2015/11/05 Python
Python 转义字符详细介绍
2017/03/21 Python
python监控文件并且发送告警邮件
2018/06/21 Python
使用python+whoosh实现全文检索
2019/12/09 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
应届生的求职推荐信范文
2013/11/30 职场文书
干部现实表现材料
2014/02/13 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android