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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
python实现web方式logview的方法
Aug 10 Python
Python的Scrapy爬虫框架简单学习笔记
Jan 20 Python
python实现list由于numpy array的转换
Apr 04 Python
Python实现的根据文件名查找数据文件功能示例
May 02 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 Python
Python箱型图处理离群点的例子
Dec 09 Python
PyTorch中permute的用法详解
Dec 30 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
Python unittest生成测试报告过程解析
Sep 08 Python
python进行二次方程式计算的实例讲解
Dec 06 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网页显示各种语法错误
2013/09/23 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
PHP创建XML接口示例
2019/07/04 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
Div自动滚动到末尾的代码
2008/10/26 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Vue与React的区别和优势对比
2020/12/18 Vue.js
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
python编程实现归并排序
2017/04/14 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
Python正则表达式学习小例子
2020/03/03 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
人事主管的岗位职责
2013/11/16 职场文书
股指期货心得体会
2014/09/10 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers
nginx rewrite功能使用场景分析
2022/05/30 Servers