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 26 Python
python 爬取微信文章
Jan 30 Python
python中使用正则表达式的连接符示例代码
Oct 10 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
python梯度下降法的简单示例
Aug 31 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python计算无向图节点度的实例代码
Nov 22 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
Python 如何实现文件自动去重
Jun 02 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
python基础教程之常用运算符
2014/08/29 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
浅谈Python中函数的参数传递
2016/06/21 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
yy结婚证婚词
2014/01/10 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
学校工作推荐信范文
2014/07/11 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL