如何快速生成特殊的numpy 1D阵列?

如何快速生成特殊的numpy 1D阵列?,numpy,multidimensional-array,python-3.5,Numpy,Multidimensional Array,Python 3.5,我想生成一个numpy 1D数组,如下所示: 数字0重复n_0次 数字1重复n_1次 数字2重复n_2次 重复N次 n_1,n_2,n_3。。。n_n是不同的,n可以很大 在这里,我随机生成一个数组nv=[n_1,n_2,…,n_n],以显示我目前可以使用的方法: nv=np.random.randint(3,10+1,size=(1000000,) np.concatenate([i*np.one((j,))表示zip中的i,j(范围(1000000),nv)]) 所以我的问题是:有更好

我想生成一个numpy 1D数组,如下所示:

  • 数字0重复n_0次
  • 数字1重复n_1次
  • 数字2重复n_2次
  • 重复N次
  • n_1,n_2,n_3。。。n_n是不同的,n可以很大

    在这里,我随机生成一个数组
    nv=[n_1,n_2,…,n_n]
    ,以显示我目前可以使用的方法:
    
    nv=np.random.randint(3,10+1,size=(1000000,)
    np.concatenate([i*np.one((j,))表示zip中的i,j(范围(1000000),nv)])
    

    所以我的问题是:有更好的方法做这样的事情吗

    我还有一个关于1D numpy阵列生成的问题,请参见:

    这有一个功能:

    numpy.repeat(numbers_to_repeat, numbers_of_repetitions)
    
    如果说“数字0”、“数字1”等等,你指的是从0开始的自然数,而不是一些输入数组的元素,那就是

    numpy.repeat(numpy.arange(N), numbers_of_repetitions)
    

    很不错的!非常感谢!我在上面的问题中附加了一个新的类似问题,你能给我更多的建议吗?谢谢