我有一个Nx2数组中的数字,我想把它简化为每个重叠组的最小值和最大值,作为一个较小的Nx2数组
如果配对两侧的一个数字位于另一个配对中,则此处的组就是一个组,这将全局扩展到所有配对。在所有情况下,最终配对只包括一组直接相邻的数字
import numpy as np
x = np.array([
[ 45, 47], #group 1
[ 46, 47], #group 1
[ 53, 54], #group 2
[ 63, 66], #group 3
[ 64, 66], #group 3
[ 65, 66], #group 3
[ 66, 67], #group 3
[ 68, 70], #group 4
[ 69, 70], #group 4
[ 70, 71], #group 4
[ 70, 72], #group 4
[ 80, 81], #group 5
[ 92, 93], #group 6
[ 94, 95], #group 7
[ 94, 96], #group 7
[ 94, 97], #group 7
[ 94, 98], #group 7
[103, 104]]) #group 8
期望输出:
array([
[45, 47], #g1
[53, 54], #g2
[63, 67], #g3
[68, 72], #g4
[80, 81], #g5
[92, 93], #g6
[94, 98], #g7
[103, 104]]) #g8
假设区域已排序
输入:
输出:
如果可以使用
pandas
,则可以通过重叠间隔进行分组,并为每个组聚合新的开始值和结束值输出:
相关问题 更多 >
编程相关推荐