【问题标题】:repeat indices with different repeat values in numpy在numpy中具有不同重复值的重复索引
【发布时间】:2019-05-17 08:03:40
【问题描述】:

我正在寻找一种使用 Numpy 执行以下操作的有效方法:

给定一个由正整数组成的数组counts,例如:

[3, 1, 0, 6, 3, 2]

我想生成另一个包含第一个索引的数组,其中索引i 重复counts[i] 次:

[0 0 0 1 3 3 3 3 3 3 4 4 4 5 5]

我的问题是这个数组可能非常大,我正在寻找一种矢量(或快速)方法来做到这一点。

【问题讨论】:

    标签: python numpy indexing vectorization numpy-ndarray


    【解决方案1】:

    您可以使用numpy.repeat

    import numpy as np
    
    arr = np.array([3, 1, 0, 6, 3, 2])
    repix = np.repeat(np.arange(arr.size), arr)
    print(repix)
    

    输出:

    [0 0 0 1 3 3 3 3 3 3 4 4 4 5 5]
    

    【讨论】:

    • 谢谢!我查看了 numpy.repeat 但从文档中我不明白它也可以这样使用。
    猜你喜欢
    • 2021-09-26
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2019-07-14
    • 2015-09-08
    • 2017-09-15
    • 2017-08-09
    • 1970-01-01
    相关资源
    最近更新 更多