Python 对坐标进行排序,并根据坐标位置而不是分数进行分类

Python 对坐标进行排序,并根据坐标位置而不是分数进行分类,python,Python,python 这是我拥有的数据帧。共有72行x 2列。(上面的数据框是数据框的片段。如果你计算一下太阳能模块的电致发光(EL)图像中的电池数量,你会发现它有72个光伏电池 列“coords”具有图像中每个多边形段的坐标 “分数”列是与坐标相对应的磁贴(无论是否放置在所需位置)的精度分数。分数不重要,但是模型的输出 让我解释一下这些多协调的分段是从哪里来的 我设计了一个图像分割模型,输出上面的坐标数组,但我被要求用(x,y)标识标记每个分割的单元 图像分割模型没有位置的概念,因此初始结果集按正确

python

这是我拥有的数据帧。共有72行x 2列。(上面的数据框是数据框的片段。如果你计算一下太阳能模块的电致发光(EL)图像中的电池数量,你会发现它有72个光伏电池

列“coords”具有图像中每个多边形段的坐标

“分数”列是与坐标相对应的磁贴(无论是否放置在所需位置)的精度分数。分数不重要,但是模型的输出

让我解释一下这些多协调的分段是从哪里来的

我设计了一个图像分割模型,输出上面的坐标数组,但我被要求用(x,y)标识标记每个分割的单元

图像分割模型没有位置的概念,因此初始结果集按正确识别细胞的概率排序

现在考虑左上瓦块为(0,0),移动到右边的一个单元格,并将其标记为(0,1)。向下移动1个单元格,然后标记该单元格(1,1)等。


基本上:我如何处理这些多边形坐标并最终得到(x,y)每一个单元的标识?

你的问题是什么?堆栈溢出不是一个让人们为你编写代码的地方。考虑一下你已经尝试过的和你被困在哪里。我正在寻找一个解决这个问题的策略。如果我正确地理解你的坐标,它们是5(x,y)中正方形的4个角。成对,其中第一对和最后一对是起始角。也许你可以找到每个正方形的中心(c_x,c_y),首先按x轴,然后按y轴对中心点进行排序。最后会得到一个72个点的列表,其中每12个元素都是新行。也就是说,如果要在列表上迭代,则对列表中的每12个元素增加y并重置x坐标。有关如何对坐标进行排序,您可以在此处查看例如:Hey NewPythonUser,我喜欢这种策略,但基于这张图片的内容:一个太阳能电池。如果不同类型的太阳能电池在模型中运行,可能会有不同的配置,因此这种排序算法可能无法奢侈地知道一行中的元素数是12。你的问题是什么?堆栈溢出不是一个让人们去了解的地方给你写代码。考虑一下到目前为止你所尝试的和你被卡住的地方。我正在寻找一个解决这个问题的策略。如果我正确地理解你的坐标,它们是5个(x,y)对中的4个角,其中第一个和最后一个是起始角。也许你可以找到每个方块的中心。(c_x,c_y),首先按x轴,然后按y轴对中心点进行排序。最后会得到一个72个点的列表,其中每12个元素都是新行。也就是说,如果要在列表上迭代,则对列表中的每12个元素增加y并重置x坐标。有关如何对坐标进行排序,您可以在此处查看例如:Hey NewPythonUser,我喜欢这种策略,但基于这张图像:一个太阳能电池。如果在模型中运行不同类型的太阳能电池,可能会有不同的配置,因此这种排序算法可能没有必要知道一行中的元素数是12。
                     coords                                      score
[1018, 370, 1345, 370, 1345, 699, 1018, 699, 1018, 370]         0.9988
[1344, 366, 1669, 366, 1669, 690, 1344, 690, 1344, 366]         0.9985
[1341, 688, 1669, 688, 1669, 1012, 1341, 1012, 1341, 688]       0.9985
[2643, 49, 2972, 49, 2972, 362, 2643, 362, 2643, 49]            0.9984
[1018, 1020, 1341, 1020, 1341, 1342, 1018, 1342, 1018, 1020]    0.9984
[2321, 371, 2651, 371, 2651, 696, 2321, 696, 2321, 371]         0.9984
[2970, 1018, 3296, 1018, 3296, 1345, 2970, 1345, 2970, 1018]    0.9984
[1016, 696, 1342, 696, 1342, 1011, 1016, 1011, 1016, 696]       0.9984
[697, 371, 1020, 371, 1020, 693, 697, 693, 697, 371]            0.9984
[1341, 1017, 1668, 1017, 1668, 1348, 1341, 1348, 1341, 1017]    0.9984
[2975, 366, 3300, 366, 3300, 686, 2975, 686, 2975, 366]         0.9984
[2319, 701, 2645, 701, 2645, 1017, 2319, 1017, 2319, 701]       0.9984
[2976, 51, 3298, 51, 3298, 363, 2976, 363, 2976, 51]            0.9984
[2645, 1349, 2971, 1349, 2971, 1665, 2645, 1665, 2645, 1349]    0.9983
[2972, 1659, 3295, 1659, 3295, 1991, 2972, 1991, 2972, 1659]    0.9983
[1013, 1343, 1343, 1343, 1343, 1671, 1013, 1671, 1013, 1343]    0.9983
[3298, 47, 3619, 47, 3619, 359, 3298, 359, 3298, 47]            0.9983
[1676, 367, 1999, 367, 1999, 690, 1676, 690, 1676, 367]         0.9983
[2323, 50, 2644, 50, 2644, 366, 2323, 366, 2323, 50]            0.9983
[2000, 371, 2326, 371, 2326, 691, 2000, 691, 2000, 371]         0.9983
[2650, 372, 2971, 372, 2971, 690, 2650, 690, 2650, 372]         0.9983
[2972, 1348, 3298, 1348, 3298, 1664, 2972, 1664, 2972, 1348]    0.9982
[1019, 1671, 1344, 1671, 1344, 1986, 1019, 1986, 1019, 1671]    0.9982
[2648, 1021, 2971, 1021, 2971, 1340, 2648, 1340, 2648, 1021]    0.9982
[695, 690, 1017, 690, 1017, 1015, 695, 1015, 695, 690]          0.9982
[1998, 52, 2323, 52, 2323, 365, 1998, 365, 1998, 52]            0.9982
[1021, 49, 1342, 49, 1342, 361, 1021, 361, 1021, 49]            0.9982
[2317, 1344, 2645, 1344, 2645, 1666, 2317, 1666, 2317, 1344]    0.9982
[1343, 1670, 1667, 1670, 1667, 1988, 1343, 1988, 1343, 1670]    0.9982
[692, 47, 1019, 47, 1019, 364, 692, 364, 692, 47]               0.9982
[370, 370, 695, 370, 695, 695, 370, 695, 370, 370]              0.9981
[1344, 1347, 1674, 1347, 1674, 1673, 1344, 1673, 1344, 1347]    0.9981
[1670, 53, 1992, 53, 1992, 369, 1670, 369, 1670, 53]            0.9981
[1345, 51, 1667, 51, 1667, 365, 1345, 365, 1345, 51]            0.9981
[3301, 364, 3623, 364, 3623, 692, 3301, 692, 3301, 364]         0.9981
[2646, 692, 2973, 692, 2973, 1014, 2646, 1014, 2646, 692]       0.9981
[1672, 689, 1995, 689, 1995, 1015, 1672, 1015, 1672, 689]       0.9981
[374, 696, 695, 696, 695, 1017, 374, 1017, 374, 696]            0.9980
[1994, 695, 2323, 695, 2323, 1022, 1994, 1022, 1994, 695]       0.9980
[2321, 1667, 2645, 1667, 2645, 1993, 2321, 1993, 2321, 1667]    0.9980
[3300, 694, 3619, 694, 3619, 1016, 3300, 1016, 3300, 694]       0.9980
[372, 1021, 694, 1021, 694, 1337, 372, 1337, 372, 1021]         0.9980
[370, 1671, 691, 1671, 691, 1991, 370, 1991, 370, 1671]         0.9979
[2641, 1671, 2971, 1671, 2971, 1985, 2641, 1985, 2641, 1671]    0.9979
[2315, 1017, 2644, 1017, 2644, 1343, 2315, 1343, 2315, 1017]    0.9979
[694, 1022, 1016, 1022, 1016, 1339, 694, 1339, 694, 1022]       0.9979
[2000, 1672, 2322, 1672, 2322, 1994, 2000, 1994, 2000, 1672]    0.9978
[367, 50, 690, 50, 690, 365, 367, 365, 367, 50]                 0.9978
[371, 1339, 692, 1339, 692, 1671, 371, 1671, 371, 1339]         0.9978
[691, 1341, 1016, 1341, 1016, 1668, 691, 1668, 691, 1341]       0.9977
[1996, 1350, 2319, 1350, 2319, 1675, 1996, 1675, 1996, 1350]    0.9977
[1673, 1020, 1996, 1020, 1996, 1348, 1673, 1348, 1673, 1020]    0.9976
[692, 1670, 1019, 1670, 1019, 1989, 692, 1989, 692, 1670]       0.9976
[2000, 1023, 2322, 1023, 2322, 1349, 2000, 1349, 2000, 1023]    0.9976
[1675, 1347, 1995, 1347, 1995, 1671, 1675, 1671, 1675, 1347]    0.9975
[3295, 1344, 3618, 1344, 3618, 1673, 3295, 1673, 3295, 1344]    0.9975
[1673, 1671, 1992, 1671, 1992, 1989, 1673, 1989, 1673, 1671]    0.9975
[3297, 1017, 3617, 1017, 3617, 1340, 3297, 1340, 3297, 1017]    0.9974
[3300, 1673, 3622, 1673, 3622, 1990, 3300, 1990, 3300, 1673]    0.9973
[3620, 51, 3940, 51, 3940, 361, 3620, 361, 3620, 51]            0.9972   
[3625, 368, 3947, 368, 3947, 689, 3625, 689, 3625, 368]         0.9969
[3622, 699, 3944, 699, 3944, 1013, 3622, 1013, 3622, 699]       0.9969
[43, 697, 371, 697, 371, 1011, 43, 1011, 43, 697]               0.9967
[43, 1021, 372, 1021, 372, 1342, 43, 1342, 43, 1021]            0.9966
[3622, 1667, 3942, 1667, 3942, 1990, 3622, 1990, 3622, 1667]    0.9961
[3619, 1021, 3938, 1021, 3938, 1339, 3619, 1339, 3619, 1021]    0.9960
[45, 378, 372, 378, 372, 689, 45, 689, 45, 378]                 0.9959
[3623, 1348, 3946, 1348, 3946, 1671, 3623, 1671, 3623, 1348]    0.9958
[46, 1667, 372, 1667, 372, 1989, 46, 1989, 46, 1667]            0.9957
[41, 1351, 367, 1351, 367, 1671, 41, 1671, 41, 1351]            0.9957
[43, 49, 370, 49, 370, 362, 43, 362, 43, 49]                    0.9957
[2972, 695, 3299, 695, 3299, 1011, 2972, 1011, 2972, 695]       0.9638