私は浮動小数点数のリストを持っています。私は最初のリストから別の期間リストを生成したいと思います。数値リストのパーセンテージの変化を計算する最も平凡な方法は何ですか
これは、ミルの実装(テストしていない - と明らかになしエラーチェック/処理)の実行です:
a = [100,105,100,95,100]
def calc_period_returns(values, period):
output = []
startpos, endpos = (period, len(values)-1)
while True:
current = values[startpos]
previous = values[startpos-period]
ret = 100*((current-previous)/(1.0*previous))
output.append(ret)
startpos += period
if startpos > endpos:
break
return output
calc_period_returns(a,1)
# Expected output:
# [5.0, -4.7619047619047619, -5.0, 5.2631578947368416]
は、これを行うための、より神託の方法があります - おそらくリスト内包とマップを使用しては?
であるかのように配列を扱う所望の出力は何ですか? –
@RomanBodnarchuk:私は予想される出力で質問を更新しました –
答えの更新を参照してください。 –