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命令行参数解析OptionParser类用法实例
Oct 09 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
Flask数据库迁移简单介绍
Oct 24 Python
mac 安装python网络请求包requests方法
Jun 13 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
python集合是否可变总结
Jun 20 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
python海龟绘图之画国旗实例代码
Nov 11 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代码收集表单内容并写入文件的代码
2012/01/29 PHP
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
脚本收藏iframe
2006/07/21 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
建筑系毕业生自我鉴定
2014/01/24 职场文书
12岁生日演讲稿
2014/05/14 职场文书
学校食品安全实施方案
2014/06/14 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
索赔员岗位职责
2015/02/15 职场文书
召开会议通知范文
2015/04/15 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
公司酒会致辞
2015/07/30 职场文书
家属联谊会致辞
2015/07/31 职场文书
建议书的格式及范文
2015/09/14 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记