[PYTHON] Pandas resample und rollen

Einführung

Ich werde Pandas 'Resample' und 'Rolling' jedes Mal überprüfen, weil sie ähnlich und nicht ähnlich aussehen, also werde ich sie kurz zusammenfassen.

Referenz

resample

Funktionskörper

DataFrame.resample(
    rule,
    how=None,
    axis=0,
    fill_method=None,
    closed=None,
    label=None,
    convention='start',
    kind=None,
    loffset=None,
    limit=None,
    base=0,
    on=None,
    level=None
)

Nachfolgende Funktion

Funktion Erläuterung
first Der Wert, der der Zukunft am nächsten kommt
last Der Wert, der der vorherigen Richtung am nächsten liegt
bfill backward fill,Der der Zukunft am nächsten liegende Wert (NaNErgänze)
ffill forward fill,Der Wert, der der vergangenen Richtung am nächsten kommt (NaNErgänze)
count Anzahl der Werte
unique Anzahl der eindeutigen Werte
max Maximalwert
min Mindestwert
mean Durchschnittswert
median Median
sum Gesamtwert
var Verteilt
std Standardabweichung
ohlc Offener Preis(opning), Höchster Preis(highest),günstigster Preis(lowest)Schlusskurs(closing)
pad = ffill

rolling

Funktionskörper

DataFrame.rolling(
    window,
    min_periods=None,
    freq=None,
    center=False,
    win_type=None,
    on=None,
    axis=0,
    closed=None
)

Nachfolgende Funktion

Funktion Erläuterung
count Anzahl der Werte
max Maximalwert
min Mindestwert
sum Gesamtwert
mean Durchschnittswert
median Median
var Verteilt
std Standardabweichung
cov Verteilte mitverteilte Matrix
corr Korrelationsmatrix
skew Schiefe(Dritter Moment)
kurt Kurtosis(Vierter Moment)
quantile Partitionswert
apply Aggregation nach ursprünglicher Funktion

Aggregation nach ursprünglicher Funktion

Sie können Ihre eigene Aggregation mit "rolling (). Apply ()" durchführen

--Beispiel) FIR-Filter, Filter für gleitenden Durchschnitt

import numpy as np

#Filterkoeffizient
b = np.ones(5) / 5

def f(x):
    #x ist ein Array von Werten im Fenster
    # x[0]Ist das älteste, x[-1]Ist der neueste Wert

    #Gibt den aggregierten Wert zurück
    return np.sum(b*x)

#Anwenden
series.rolling(5, center=True).apply(f)
# series.rolling(5, center=True).apply(lambda x : np.sum(b*x))Aber ok

Recommended Posts

Pandas resample und rollen
Installation von Jupyter und Pandas
Pandas Index und Reindex
Pandas Mittelwertbildung und Auflistung
Wichtige Ergänzungen zu den Pandas 1.1.0 und 1.0.0
Wie man Pandas Rolling benutzt
Verhalten der Pandas Rolling () Methode
Pandas
Vorsichtsmaßnahmen bei der Verwendung von Codecs und Pandas
[Pandas] Finde den Quadranten und erkenne den Ausreißer
# Zeile ignorieren und mit Pandas lesen
[Python] Was ist Pandas Series und DataFrame?
Eine kleine Überprüfung von Pandas 1.0 und Dask
[pandas] CSV-Datei Lese- und Anzeigemethode
CSV gruppieren und Mindestwert erhalten (Pandas)
Laden Sie csv mit Pandas und spielen Sie mit Index
Verwendung von pandas Timestamp und date_range
Lesen Sie CSV und analysieren Sie mit Pandas und Seaborn