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通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
Python协程的用法和例子详解
Sep 09 Python
Python编程实现蚁群算法详解
Nov 13 Python
详解Python if-elif-else知识点
Jun 11 Python
Python进阶之全面解读高级特性之切片
Feb 19 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
python框架flask表单实现详解
Nov 04 Python
Python 获取numpy.array索引值的实例
Dec 06 Python
Python二次规划和线性规划使用实例
Dec 09 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
python中rb含义理解
Jun 18 Python
python上selenium的弹框操作实现
Jul 13 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开发时容易忘记的一些技术细节
2016/02/03 PHP
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
JavaScript严格模式详解
2015/11/18 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
Python转码问题的解决方法
2008/10/07 Python
python线程池的实现实例
2013/11/18 Python
python验证码识别实例代码
2018/02/03 Python
python中的常量和变量代码详解
2018/07/25 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
python里dict变成list实例方法
2019/06/26 Python
python画双y轴图像的示例代码
2019/07/07 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python安装OpenCV的示例代码
2020/03/05 Python
python学生管理系统的实现
2020/04/05 Python
keras 多任务多loss实例
2020/06/22 Python
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
社团文化节策划书
2014/02/01 职场文书
班主任寄语大全
2014/04/04 职场文书
寒假家长评语大全
2014/04/16 职场文书
设计大赛策划方案
2014/06/13 职场文书
素质教育标语
2014/06/27 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
档案工作个人总结
2015/03/03 职场文书
小学教师求职信范文
2015/03/20 职场文书
保护环境的宣传语
2015/07/13 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
python scrapy简单模拟登录的代码分析
2021/07/21 Python