numpy - 使用数组作为范围的开始和结束

时间:2018-01-16 13:47:24

标签: python arrays numpy

这是我所拥有的简化数组:

a = np.array([ 1, 12, 60, 80, 90, 210])
b = np.array([11, 30, 79, 89, 99, 232])

如何获得使用a作为起始范围,b作为范围结束的结果,可以计算数字列表(快速)。

所以,c看起来像是:

c = np.array([1,2,3,...,11, 12,13,14,...,29,30, 
              60,61,62,...79, ..., 210,211,...,231,232])

理想情况下,这将以矢量化方式(使用numpy / pandas)而不是python完成。

1 个答案:

答案 0 :(得分:2)

总结以上评论:一种方法是使用zip()np.concatenate()

c = np.concatenate([np.arange(x, y+1) for x, y in zip(a,b)])

HT到@VasilisG。和@ThomasKühn