Die Berechnung der Veränderung in Prozent zwischen zwei zahlen (Python)

Habe ich eine Liste der Preise, wo ich versuche zu berechnen, die Veränderung in Prozent von jeder Zahl. Ich berechnete die Unterschiede mit

    prices = [30.4, 32.5, 31.7, 31.2, 32.7, 34.1, 35.8, 37.8, 36.3, 36.3, 35.6]

    def f():
        for i in range(len(prices)):
            print(prices[i]-prices[i-1])

Gibt die Unterschiede wie

    2.1
    -0.8
    -0.5
    ...

Weiß ich die prozentuale Veränderung wäre ((i-(i-1))/(i-1) *100, aber ich weiß nicht, wie zu übernehmen, die in das Skript. Jede Hilfe wäre sehr geschätzt werden.

  • Sie wollen wahrscheinlich range(1, len(prices))- sonst ist die erste Sache, die es druckt, wird die Differenz zwischen dem letzten und ersten Elemente der Liste.
  • Sie haben die änderung Prozentsatz Gleichung falsch... denkt Man vielleicht an eine % Fehler Gleichung geht, wie abs(x-y)/x, wobei x den richtigen Wert in der Theorie, aber der Unterschied ist abs(x-y) / Durchschnitt x -, y -
  • Du hast Recht, David. Ich habe die Palette, wie Sie vorgeschlagen und ergänzt die Letzte Zeile zu print ((prices[i]-prices[i-1])/prices[i-1]*100)
  • Es ist ein bisschen spät zu Fragen, aber wie könnte ich konvertieren, die Ausgabe von f() in eine Liste?
InformationsquelleAutor | 2012-10-03
Schreibe einen Kommentar