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实现
Aug 24 Python
python并发编程之线程实例解析
Dec 27 Python
Python3生成手写体数字方法
Jan 30 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
Python基本数据结构之字典类型dict用法分析
Jun 08 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
七个非常实用的Python工具包总结
Jun 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
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
Add a Table to a Word Document
2007/06/15 Javascript
js模仿hover的具体实现代码
2013/12/30 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
Python对wav文件的重采样实例
2020/02/25 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
python之语音识别speech模块
2020/09/09 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
自我鉴定范文300字
2013/10/01 职场文书
学校采购员岗位职责
2014/01/02 职场文书
客服部工作职责范本
2014/02/14 职场文书
体育课课后反思
2014/04/24 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
学生会辞职信
2015/03/02 职场文书
战马观后感
2015/06/08 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
合同范本之电脑出租
2019/08/13 职场文书
索尼ICF-36收音机评测
2022/04/30 无线电