Pandas DataFrame Asfreq Methode

Beginner

Einführung

Die DataFrame.asfreq()-Methode in der pandas-Bibliothek von Python wird verwendet, um eine Zeitreihe in eine bestimmte Frequenz umzuwandeln. Sie bietet eine Möglichkeit, fehlende Werte aufzufüllen oder rückwärts auszufüllen. Indem wir diese Methode auf einen DataFrame anwenden, können wir die Zeitreihe in die gewünschte Frequenz umwandeln, die Frequenz aufwärts skalieren und alle fehlenden Werte auffüllen.

Tipps für die virtuelle Maschine

Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Zeitreihe in die angegebene Frequenz umwandeln

Wir können die DataFrame.asfreq()-Methode verwenden, um eine Zeitreihe in eine andere angegebene Frequenz umzuwandeln. Hier ist ein Beispiel:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, 2.0, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Converting to a different frequency")
print(df.asfreq(freq='H'))

Dieser Code erstellt einen DataFrame mit einer Zeitreihe und wandelt ihn dann in eine stündliche Frequenz um. Es werden sowohl der ursprüngliche DataFrame als auch der umgewandelte DataFrame ausgegeben.

Zeitreihe mit der DataFrame.asfreq()-Methode aufwärts skalieren

Die DataFrame.asfreq()-Methode kann auch die Frequenz einer Zeitreihe aufwärts skalieren. Hier ist ein Beispiel:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, 2.0, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Upsampling the timeseries")
print(df.asfreq(freq='50s'))

In diesem Code erstellen wir einen DataFrame mit einer Zeitreihe und skalieren sie dann auf eine Frequenz von 50 Sekunden aufwärts. Es werden sowohl der ursprüngliche DataFrame als auch der aufwärts skalierte DataFrame ausgegeben.

Zeitreihe aufwärts skalieren und fehlende Werte mit der DataFrame.asfreq()-Methode ausfüllen

Die DataFrame.asfreq()-Methode kann auch fehlende Werte auffüllen, wenn eine Zeitreihe aufwärts skaliert wird. Hier ist ein Beispiel:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, None, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Upsampling timeseries and filling values")
print(df.asfreq(freq='50s', fill_value=9.0))

In diesem Code erstellen wir einen DataFrame mit einer Zeitreihe, die fehlende Werte hat. Wir skalieren ihn dann auf eine Frequenz von 50 Sekunden aufwärts und füllen die fehlenden Werte mit dem Wert 9.0. Es werden sowohl der ursprüngliche DataFrame als auch der aufwärts skalierte DataFrame mit den ausgefüllten Werten ausgegeben.

Zeitreihe aufwärts skalieren und fehlende Werte rückwärts ausfüllen mit der DataFrame.asfreq()-Methode

Die DataFrame.asfreq()-Methode kann auch fehlende Werte rückwärts ausfüllen, wenn eine Zeitreihe aufwärts skaliert wird. Hier ist ein Beispiel:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, None, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print("Upsampling timeseries")
print(df.asfreq(freq='70s'))
print("Backward filling values")
print(df.asfreq(freq='70s', method='bfill'))

In diesem Code erstellen wir einen DataFrame mit einer Zeitreihe, die fehlende Werte hat. Wir skalieren ihn dann auf eine Frequenz von 70 Sekunden aufwärts und füllen die fehlenden Werte rückwärts aus. Es werden sowohl der aufwärts skalierte DataFrame als auch der DataFrame mit rückwärts ausgefüllten Werten ausgegeben.

Zusammenfassung

Die DataFrame.asfreq()-Methode in pandas ist ein nützliches Werkzeug zum Konvertieren, Aufwärts skalieren und Ausfüllen von fehlenden Werten in Zeitreihendaten. Indem wir eine gewünschte Frequenz und optionale Parameter zum Ausfüllen von fehlenden Werten angeben, können wir Zeitreihendaten manipulieren, um unseren Anforderungen zu entsprechen. Diese Methode bietet Flexibilität und Kontrolle darüber, wie Zeitreihendaten verarbeitet und analysiert werden.