[PYTHON] Über Cumprod und Cummax

1. Zweck

Hier ist ein Beispiel für die Verwendung von Cumprod und Cummax.

2 Inhalt

cumprod ・ ・ ・ Berechnet das kumulative Produkt für alle Elemente des Arrays. cummax ・ ・ ・ Extrahiert den Maximalwert aus allen Elementen des Arrays.

test.py


import numpy as np
import pandas as pd


dat = [
    ['2019-07-01',10],
    ['2019-07-02',12],
    ['2019-07-03',8],
    ['2019-07-04',14],
    ['2019-07-05',7],
    ['2019-07-08',3]
]
df0 = pd.DataFrame(dat,columns=["A","B"])

print(df0)

df1=df0['B'].pct_change()
df2=(1 + df1)
df3=(1 + df1).cumprod() #Berechnet das kumulative Produkt vom 0. bis zum i-ten Element.
df4=(1 + df1).cummax()  #Extrahiert den Maximalwert unter dem 0. bis i-ten Element.
print(df1)
print(df2)
print(df3)
print(df4)
<df0:Grundinformationen>
            A   B
0  2019-07-01  10
1  2019-07-02  12
2  2019-07-03   8
3  2019-07-04  14
4  2019-07-05   7
5  2019-07-08   3

df1: (df0['B']Ich th und ich-Berechnen Sie die erste Änderungsrate)
0         NaN
1    0.200000
2   -0.333333
3    0.750000
4   -0.500000
5   -0.571429
Name: B, dtype: float64

df2: (df1+Berechnen Sie 1)
0         NaN
1    1.200000
2    0.666667
3    1.750000
4    0.500000
5    0.428571
Name: B, dtype: float64

df2: (cumprod()Berechnen Sie das kumulative Produkt)

0    NaN
1    1.2
2    0.8  (=1.2×0.666667)
3    1.4   (=1.2×0.666667×1.75)
4    0.7   (=1.2×0.666667×1.75×0.5)
5    0.3   (=1.2×0.666667×1.75×0.5×0.428)
Name: B, dtype: float64

df3: (cummax()Extrahieren Sie den Maximalwert aus den Elementen.)

0     NaN
1    1.20   (df2:Maximalwert zwischen den Elementen 1 bis 1)
2    1.20   (df2:Maximalwert zwischen den Elementen 1 bis 2)
3    1.75   (df2:Maximalwert zwischen den Elementen 1 bis 3)
4    1.75   (df2:Maximalwert zwischen den Elementen 1 bis 4)
5    1.75   (df2:Maximalwert zwischen den Elementen 1 bis 5)
Name: B, dtype: float64

Recommended Posts

Über Cumprod und Cummax
Über _ und __
Über Kreuzvalidierung und F-Wert
Dies und das über pd.DataFrame
Linux (Über Dateien und Verzeichnisse)
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Informationen zu LINUX-Dateien und -Prozessen
Über Raid Group und LUN
Informationen zur Funktion fork () und zur Funktion execve ()
Über Djangos Dekonstruktion und Dekonstruierbarkeit
Über Python, len () und randint ()
Informationen zu Python-Datums- und Zeitzone
Über Sharpe Ratio und Sortino Ratio
Über Python und reguläre Ausdrücke
Informationen zu Python- und Betriebssystemoperationen
Informationen zu http.Handle () und http.NewServeMux (). Handle ()
Python # Über Referenz und Kopie
Über Numpy Array und Asarray
Über Python sort () und reverse ()
Informationen zur Installation der Serien Pwntools und Python2
Zusammenfassung und häufige Fehler zu Cron
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
Über MkDocs-Themen und ihre Bräuche
Über Python Pickle (cPickle) und Marschall
[Python] Über Executor und zukünftige Klassen
Über Python, aus und importieren, als
Über Zeitreihendaten und Übertraining
Über Paketmanagement mit Conda und Pip
Memorandum über Metriken für Regression und Binomialklassifikation
Über sensor_mode und Blickwinkel der Picamera
Informationen zu Fehlern bei der Installation und Ausführung von PyInstaller
Informationen zu PyQts Signal-, Verbindungs- und Lambda-Ausdrücken
Persönliche Notizen und Links zum maschinellen Lernen ① (Maschinelles Lernen)
[SSH] Informationen zur Authentifizierung mit öffentlichem Schlüssel und zu EC2
Informieren Sie sich über Dateiberechtigungen und Superuser
Über die Beziehung zwischen Git und GitHub
Eine Geschichte über Python Pop und Append
Über AntiDDoS Premium und Sonderfunktion TOA
Apropos alte und neue Klassen in Python
[Golang] Über Go-Sprache Produzent und Konsument
Apropos Python-Klassenattribute und Metaklassen