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的string模块中的Template类字符串模板用法
Jun 27 Python
手把手教你python实现SVM算法
Dec 27 Python
python 接收处理外带的参数方法
Dec 03 Python
Python 实现数据结构-循环队列的操作方法
Jul 17 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
python爬虫中的url下载器用法详解
Nov 30 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Python Pandas数据分析之iloc和loc的用法详解
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
实现树状结构的两种方法
2006/10/09 PHP
通过对服务器端特性的配置加强php的安全
2006/10/09 PHP
BBS(php & mysql)完整版(五)
2006/10/09 PHP
一个数据采集类
2007/02/14 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
jQuery 工具函数学习资料
2010/04/29 Javascript
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
市三好学生主要事迹
2014/01/28 职场文书
小学中秋节活动方案
2014/02/06 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
销售会议开幕词
2015/01/28 职场文书
小学课改工作总结
2015/08/13 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
mysql函数之截取字符串的实现
2022/08/14 MySQL