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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
Python深入学习之对象的属性
Aug 31 Python
利用Python获取操作系统信息实例
Sep 02 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
Jul 02 Python
pycharm安装和首次使用教程
Aug 27 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
python动态进度条的实现代码
Jul 03 Python
关于tf.reverse_sequence()简述
Jan 20 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
python 星号(*)的多种用途
Sep 21 Python
Python Numpy之linspace用法说明
Apr 17 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
8个PHP数组面试题
2015/06/23 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
document.getElementBy("id")与$("#id")有什么区别
2013/09/22 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
3种vue组件的书写形式
2017/11/29 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
layui的select联动实现代码
2019/09/28 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
详解uniapp的全局变量实现方式
2021/01/11 Javascript
python处理json数据中的中文
2014/03/06 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python实现随机加减法生成器
2020/02/24 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
人事专员工作职责
2014/02/22 职场文书
民生工作实施方案
2014/05/31 职场文书
设计大赛策划方案
2014/06/13 职场文书
班级课外活动总结
2014/07/09 职场文书
公民代理授权委托书
2014/09/24 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
个人典型事迹材料
2014/12/30 职场文书
工作时间证明
2015/06/15 职场文书
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers