2017-10-08 19 views
0

根据另一个数组中对应的数字重复数组元素的最佳方式是什么?例如,给定:Numpy,如何根据另一个数组中对应的数字重复数组的元素

import numpy as np 
a = np.array([100,50,200,10]) 
b = np.array([0.5,0.1,0.15,0.25]) 

我怎样才能有一个数组c包括在ab根据数字重复的数字:

c = [0.5, 0.5, ..., 0.5, 0.1, 0.1, ... 0.1, 0.15, ..., 0.15, 0.25, ..., 0.25] 

其中的0.5,0.1,0.15和0.25的计数分别为100,50,200和10.

我知道我可以通过使用for循环和np.repeat并将结果打包到一个数组中。但是有没有更好的方法来做到这一点?

+0

为什么要循环?只需一次调用'np.repeat'即可。 – Divakar

+2

没有必要的循环。 'np.repeat(b,a)'按需要工作。 – unutbu

回答

1
import numpy as np 

a = np.array([100,50,200,10]) 

b = np.array([0.5,0.1,0.15,0.25]) 

c = np.repeat(b,a) 
相关问题