2017-10-08 17 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]) 

はどのようaで番号に従って繰り返さbから番号を含むアレイcを有することができる。

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です。

私はnp.repeatと一緒にforループを使用し、結果を配列にすることでそれを行うことができます。しかし、これを行うnumpyで良い方法がありますか?

+0

なぜforループですか?単に '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) 
関連する問題