我将Python与numpy
一起使用。
我有一个索引的numpy数组a
:
>>> a
array([[5, 7],
[12, 18],
[20, 29]])
>>> type(a)
<type 'numpy.ndarray'>
我有一个索引的numpy数组b
:
>>> b
array([[2, 4],
[8, 11],
[33, 35]])
>>> type(b)
<type 'numpy.ndarray'>
我需要将数组a
与数组b
连接起来:
a
+b
=>;[2, 4] [5, 7] [8, 11] [12, 18] [20, 29] [33, 35]
=>;a
和b
有索引数组=>;[2, 18] [20, 29] [33, 35]
(索引([2, 4][5, 7][8, 11][12, 18])
按顺序进行
=>;2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
=>;[2, 18]
)
对于本例:
>>> out_c
array([[2, 18],
[20, 29],
[33, 35]])
有人能建议一下,我怎么得到out_c
?
更新:@Geoff建议的解决方案python union of multiple ranges。此解决方案是否是大型数据阵列中最快和最好的解决方案?
也许您可以尝试使用numpy.concatenate()将数组连接在一起,然后找到每行的最小值和最大值……然后创建c作为每行的最小值和最大值的矩阵。
或者,np.minimum和np.maximum比较两个数组并找到最小值和最大值,这样就可以找到每行的最小值和最大值,然后将其分配给矩阵c
(新答案)使用Numpy
(旧答案)使用列表和集合
参考文献
不漂亮,但很管用。我不喜欢最后一个循环,buy想不出没有它的方法:
相关问题 更多 >
编程相关推荐