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列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
在Python中处理日期和时间的基本知识点整理汇总
May 22 Python
Python3使用turtle绘制超立方体图形示例
Jun 19 Python
python实现将多个文件分配到多个文件夹的方法
Jan 07 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
numpy linalg模块的具体使用方法
May 26 Python
numpy求平均值的维度设定的例子
Aug 24 Python
Python numpy线性代数用法实例解析
Nov 15 Python
如何基于python测量代码运行时间
Dec 25 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
详解Python 循环嵌套
Jul 09 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 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
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
jquery插件之easing使用
2010/08/19 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python post请求实现代码实例
2020/02/28 Python
大众服装店创业计划书范文
2014/01/01 职场文书
物理研修随笔感言
2014/02/14 职场文书
探亲假请假条
2014/04/11 职场文书
高中学生期末评语
2014/04/25 职场文书
卫生标语大全
2014/06/21 职场文书
护士2014年终工作总结
2014/11/11 职场文书
先进班组事迹材料
2014/12/25 职场文书
个人工作年终总结
2015/03/09 职场文书
创业计划书之美容店
2019/09/16 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server