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 文件重命名工具代码
Jul 26 Python
Python实现从log日志中提取ip的方法【正则提取】
Mar 31 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
python字符串与url编码的转换实例
May 10 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
在django中自定义字段Field详解
Dec 03 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
Python中的xlrd模块使用原理解析
May 21 Python
keras 如何保存最佳的训练模型
May 25 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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 调试利器debug_print_backtrace()
2012/07/23 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
浅析Jquery操作select
2016/12/13 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 远程统计文件代码分享
2015/05/14 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
基于Python中的yield表达式介绍
2019/11/19 Python
详解python中各种文件打开模式
2020/01/19 Python
python实现最速下降法
2020/03/24 Python
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
干部竞争上岗演讲稿
2014/09/11 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
2015年少先队活动总结
2015/03/25 职场文书
新教师教学工作总结
2015/08/14 职场文书
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技
git中cherry-pick命令的使用教程
2022/06/25 Servers