1
start
からstop
までのnumpyの範囲を、前の数値に基づいて(固定)パーセンテージの増分を使用して作成したいとします。たとえば、100%、102%、104.04、106.12などnumpyの範囲はパーセンテージの増分を使用して作成
明らかにこれは、発電機を使用して、よりエレガントに、リストを反復処理等により行うことができます。
def pct_incrementer(start, stop, step_pct):
val = start
yield val
while True:
val += val * step_pct
if val >= stop:
break
yield val
np.array(list(pct_incrementer(100, 200, 0.02)))
# or (as I've just learned!)
np.fromiter(pct_incrementer(100, 200, 0.02), float)
はnumpyの(またはパンダを)いネイティブでこれを行うための機能を持っています? (私が見つけることができないので!)。おそらく、同じことをするためにnp.array([100] * 10)
を操作する方法はありますか?
ありがとうございます!
...私はこれを行うだろうと、いくつかのログ策略があると思います感情を持っていました。ありがとうございました。 – user908094
しかし、(%timeitを使用して)np.fromiter(pct_incrementer())は、値が100-200 @ 2% – user908094
の小さな値を使用して、.full()/、cumprod()よりもかなり速いことを指摘します。 @ user908094これは面白いです。また、私のマシンでは、ほとんどの減速は '* 100'から発生します。いくつかのグーグルでは、使用できる「np.logspace」と「np.geomspace」が表示されます。 –