gpt4 book ai didi

python - 带有 numpy 的范围数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:46 24 4
gpt4 key购买 nike

我有以下数组:

>>> x = numpy.array([2,4,2,3,1])
>>> x
array([2, 4, 2, 3, 1])

我想要一组这些值的范围。我可以这样创建它:

>>> numpy.hstack( (numpy.arange(v) for v in x) )
array([0, 1, 0, 1, 2, 3, 0, 1, 0, 1, 2, 0])

给定 x,有没有更快的方法来使用 numpy 生成它而无需使用 for 循环?

最佳答案

我想通了:

>>> x
array([2, 4, 2, 3, 1])
>>> ends = numpy.cumsum(x)
>>> ranges = numpy.arange(ends[-1])
>>> ranges = ranges - numpy.repeat(ends-x, x)
>>> ranges
array([0, 1, 0, 1, 2, 3, 0, 1, 0, 1, 2, 0])
>>>

关于python - 带有 numpy 的范围数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5286531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com