首页 > 编程语言 >python,一个数组y1存放yolo的位置信息BBOX,一个y2数组存放识别的结果信息,根据y1数组按左上角的点坐标排序,y2对应跟着变化

python,一个数组y1存放yolo的位置信息BBOX,一个y2数组存放识别的结果信息,根据y1数组按左上角的点坐标排序,y2对应跟着变化

时间:2023-09-21 15:33:18浏览次数:32  
标签:排序 坐标 数组 y1 sorted y2

import numpy as np
# 示例数据
y1 = np.array([[50, 100, 200, 300], [10, 20, 30, 40], [60, 70, 80, 90]])
y2 = np.array(['cat', 'dog', 'bird'])
# 按左上角点的坐标排序y1数组
sorted_indices = np.lexsort((y1[:, 1], y1[:, 0]))
y1_sorted = y1[sorted_indices]
# 根据排序后的索引对应调整y2数组的顺序
y2_sorted = y2[sorted_indices]
# 输出结果
print("排序后的y1数组:")
print(y1_sorted)
print("对应调整顺序后的y2数组:")
print(y2_sorted)

排序后的y1数组: [[10 20 30 40] [50 100 200 300] [60 70 80 90]]

对应调整顺序后的y2数组: ['dog' 'cat' 'bird']

以上代码使用了lexsort()函数,将y1数组按照左上角点的坐标进行排序。首先使用y1[:, 1]作为第一个排序键,表示按照y轴坐标进行排序;然后使用y1[:, 0]作为第二个排序键,表示按照x轴坐标进行排序。最后得到排序后的索引sorted_indices,通过索引将y1y2数组的顺序调整为排序后的顺序。最后输出排序后的y1数组和对应调整顺序后的y2数组。

标签:排序,坐标,数组,y1,sorted,y2
From: https://www.cnblogs.com/zhml/p/17720065.html

相关文章

  • LeetCode53.最大子数组和
    要求最大连续子数组的和,可以这样考虑,比如现在我想求下标 i~j,i<j 这一范围内子数组的和,那么我可以分别先求出 0~i-1 范围和 0~j 范围两个子数组的和,可得Sum[i~j]=Sum[0~j]-Sum[0~i-1] ,这就是本题解法的核心思想。解法详细描述:先从下标0开始,遍历 nums 数组,求出到当前下标......
  • vue通过 v-for循环出来的数组给元素 加不同的颜色
    直接上代码:1<divv-for="(item,i)incolorList":key="i">2<divclass="cmn-color">3<div:style="{'background':item}"></div><span>开发{{i+1}}</span>4</d......
  • drf-day14
    频率源码分析频率源码APIView----disaptch---》self.initial(request,*args,**kwargs)---》416行:self.check_throttles(request)----》352行check_throttlesdefcheck_throttles(self,request):#self.get_throttles()就是咱们配置在视图类上频率类的对......
  • 二维数组
    for(inti=0;i<array.GetLength(0);i++){for(intj=0;j<array.array.GetLength(1);j++){Console.WriteLine(array[i,j]);}//0,00,10,2//1,01,11,2}基本概念1.二维数组是使用两个下标(索引)来确定元素的数组两个下标可以理解为行标和列......
  • 稀疏数组
    稀疏数组稀疏数组介绍当一个数组中大部分元素为0,或为同一值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方式是:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模publicclassarrayDemo9{publ......
  • 【js】数组的几个常用方法
    filter、map、forEachfilterfilter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。注意:filter()不会对空数组进行检测。注意:filter()不会改变原始数组。语法:array.filter(function(currentValue,index,arr),thisValue)参数说明......
  • 数组变异方法和非变异方法的总结
    区别:1.操作数组的方法中,分为变异方法和非变异方法。2.其中,变异方法意味着会改变原数组,而非变异方法则只会返回一个新数组,不会修改原始数组数组变异方法:push()//数组尾部追加一个元素pop()//数组尾部弹出一个元素shift()//数组头部弹出一个元素unshift()//数组头部插入一个......
  • 解决ubuntu进入tty1...6后显示中文乱码的问题
    一、临时解决(足够)例如,进入tty2,查看$LANG和$LANGUAGE:$echo$LANGzh_CN.UTF-8;是什么不重要,这里主要是反映修改前后的不同$echo$LANGUAGEzh_CN:zh:en_US:en;是什么不重要,这里主要是反映修改前后的不同实验一下没有修改前的tty的输出:$rmfilerm:###&&**乱码修改设置,......
  • 清理Docker的Overlay2存储驱动占用的磁盘空间
    要清理Docker的Overlay2存储驱动占用的磁盘空间,您可以执行以下步骤:1.停止并删除所有已停止的容器:dockercontainerprune2.删除未使用的镜像:dockerimageprune3.清理Docker的系统级缓存:dockersystemprune--all--volumes4.调整Docker配置以限制磁盘使用量(可选):编辑/et......
  • Python-day13
    复习:字符串#字符串生成#字符串对齐#大小写变换#字符串劈分#字符串判断相关方法#字符串替换与合并#字符串比较#字符串切片#格式化字符串#字符串编码解码#字符串查询s1='abc's2="a"+'b'+'c's3=''.join({'a','b','c'})s4=''.join(('a�......