这是我所拥有的简化数组:
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完成。
答案 0 :(得分:2)
总结以上评论:一种方法是使用zip()
和np.concatenate()
。
c = np.concatenate([np.arange(x, y+1) for x, y in zip(a,b)])
HT到@VasilisG。和@ThomasKühn