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

标签 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 完成。

最佳答案

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

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

HT 到@VasilisG。还有@ThomasKühn

关于python - numpy - 使用数组作为范围的开始和结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48282748/

相关文章:

python - 在 pandas 中,如何选择包含 NaN 的行?

python - Numpy 数组用数组索引的赋值操作

python - 如何在 OS X 上将 Python 的默认版本设置为 3.x?

python - 计算具有多个索引列的行之间的差异

arrays - 将字符串重新分配给数组中的一组值

java - 用 2D 数组表示 8x8 维度的问题

python - 如何使用 `re.sub()` 替换 str 的一部分?

python - 为什么当我创建一个新的 worker 时,以前的 celery worker 的任务仍然存在?

javascript - alert() 整个多维对象

python - 扁平大阵列的 Numpy 平均值比所有轴的平均值慢