【发布时间】:2012-08-03 08:30:18
【问题描述】:
我有两个有序的 numpy 数组,我想将它们交错,以便我从第一个数组中获取一个项目,然后从第二个数组中获取另一个,然后返回到第一个 - 获取下一个大于我刚才的那个的项目从第二个等等开始。 这些实际上是其他数组的索引数组,只要操作是矢量化的,我就可以对原始数组进行操作(当然,将索引数组作为向量操作处理会很棒)。
示例(可以假设数组的交集为空)
a = array([1,2,3,4,7,8,9,10,17])
b = array([5,6,13,14,15,19,21,23])
我想得到 [1,5,7,13,17,19]
【问题讨论】:
-
仅供参考,我做了一些测试,这个pure python solution 实际上比numpy-based solution 快,至少根据我的测试。
标签: python arrays numpy vectorization