[PYTHON] À propos de cumprod et cummax

1. Objet

Voici un exemple d'utilisation de cumprod et cummax.

2 Sommaire

cumprod ・ ・ ・ Calcule le produit cumulatif pour tous les éléments du tableau. cummax ・ ・ ・ Extrait la valeur maximale de tous les éléments du tableau.

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() #Calcule le produit cumulé du 0 au i-ème élément.
df4=(1 + df1).cummax()  #Extrait la valeur maximale parmi les 0e à ième éléments.
print(df1)
print(df2)
print(df3)
print(df4)
<df0:Donnee de base>
            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']I th et i-Calculez le premier taux de changement)
0         NaN
1    0.200000
2   -0.333333
3    0.750000
4   -0.500000
5   -0.571429
Name: B, dtype: float64

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

df2: (cumprod()Calculer le produit cumulé)

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()Extrayez la valeur maximale des éléments.)

0     NaN
1    1.20   (df2:Valeur maximale parmi les éléments 1 à 1)
2    1.20   (df2:Valeur maximale parmi les éléments 1 à 2)
3    1.75   (df2:Valeur maximale parmi les éléments 1 à 3)
4    1.75   (df2:Valeur maximale parmi les éléments 1 à 4)
5    1.75   (df2:Valeur maximale parmi les éléments 1 à 5)
Name: B, dtype: float64

Recommended Posts

À propos de cumprod et cummax
À propos de _ et __
À propos de la validation croisée et de la valeur F
Ceci et cela à propos de pd.DataFrame
Linux (À propos des fichiers et des répertoires)
À propos des objets et des classes Python
À propos des variables et des objets Python
À propos des fichiers et des processus LINUX
À propos du groupe Raid et du LUN
À propos de la fonction fork () et de la fonction execve ()
À propos de la déconstruction et de la déconstructibilité de Django
À propos de Python, len () et randint ()
À propos de la date et du fuseau horaire Python
À propos du ratio de Sharpe et du ratio de Sortino
À propos de Python et des expressions régulières
À propos des opérations Python et OS
À propos de http.Handle () et http.NewServeMux (). Handle ()
Python # À propos de la référence et de la copie
À propos du tableau Numpy et d'un tableau
À propos de Python sort () et reverse ()
À propos de l'installation des séries Pwntools et Python2
Résumé et erreurs courantes sur cron
À propos de Python dict et des fonctions triées
À propos de Python et Cython dtype
À propos des thèmes MkDocs et de leurs coutumes
À propos de Python Pickle (cPickle) et Marshal
[Python] À propos des classes Executor et Future
À propos de Python, à partir et à l'importation, comme
À propos des données de séries chronologiques et du surentraînement
À propos de la gestion des packages avec conda et pip
Mémorandum sur les paramètres de régression et de classification binomiale
À propos du sensor_mode et de l'angle de vue de la picamera
À propos des erreurs lors de l'installation et de l'exécution de PyInstaller
À propos des expressions de signal, de connexion et de lambda de PyQt
Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)
[SSH] À propos de l'authentification par clé publique et EC2
Découvrir les autorisations de fichiers et les super utilisateurs
À propos de la relation entre Git et GitHub
Une histoire sur Python pop and append
À propos d'AntiDDoS Premium et de la fonction spéciale TOA
Parler d'anciennes et de nouvelles classes en Python
[Golang] À propos du producteur et consommateur de langue Go
Parler des attributs de classe Python et des métaclasses