使用Python中的其他两个数组创建包含数组元素/数量的新数组

Mik*_*ike 2 python arrays numpy scipy

我在Python中有两个数组(numpy数组):

a=array([5,7,3,5])
b=array([1,2,3,4])
Run Code Online (Sandbox Code Playgroud)

我希望创建第三个数组,其中每个元素都来自新数组中的b出现a次数,如下所示:

c=array([1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,4,4,4,4,4])
Run Code Online (Sandbox Code Playgroud)

是否有一种快速,numPythonic的方式来做到这一点,最少的循环?我需要在一个相当大的数组中循环使用这个操作数千次,所以我希望它尽可能快.

干杯,迈克

mgi*_*nbr 5

我相信重复就是你想要的:

c = repeat(b, a)
Run Code Online (Sandbox Code Playgroud)