Ausgabe
Ich habe die Anweisung dataTrain = np.log(mdataTrain).diff()
in meinem Programm verwendet. Ich möchte die Auswirkungen der Aussage umkehren. Wie kann es in Python gemacht werden?
Lösung
Umgekehrt wird die kumulative Summe und dann das Exponential genommen. Da pd.Series.diff
Informationen verloren gehen, nämlich der erste Wert in einer Reihe, müssen Sie diese Daten speichern und wiederverwenden:
np.random.seed(0)
s = pd.Series(np.random.random(10))
print(s.values)
# [ 0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 0.64589411
# 0.43758721 0.891773 0.96366276 0.38344152]
t = np.log(s).diff()
t.iat[0] = np.log(s.iat[0])
res = np.exp(t.cumsum())
print(res.values)
# [ 0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 0.64589411
# 0.43758721 0.891773 0.96366276 0.38344152]
Beantwortet von – jpp
Antwort geprüft von – Marie Seifert (FixError Admin)