Konvertieren Timedelta in Int in Pandas
In diesem Tutorial wird die Konvertierung von timedelta
in int
unter Verwendung des dt
-Attributs in Pandas erläutert.
Konvertieren Sie das timedelta
in int
mit dem dt
-Attribut in Pandas
Um das timedelta
in einen ganzzahligen Wert umzuwandeln, können wir das dt
-Attribut der pandas
-Bibliothek verwenden. Das Attribut dt
ermöglicht es uns, Komponenten des timedelta
zu extrahieren. Beispielsweise können wir Jahr, Monat, Tag, Minuten oder Sekunden mit dem Attribut dt
extrahieren. Dazu müssen wir den Namen der Komponente hinter das Attribut dt
schreiben. Um alle Komponenten der Variable timedelta
anzuzeigen, können wir das Attribut components
verwenden. Lassen Sie uns zum Beispiel eine Zeitreihe mit dem pandas-Attribut Series
erstellen und ihre Komponenten mit dem Attribut components
anzeigen.
import pandas as pd
time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.components
Ausgabe:
Wie Sie sehen, zeigt das Attribut components
alle Komponenten der Zeitreihe an. Das Attribut timedelta_range()
wird im obigen Code verwendet, um die Zeitreihen zu erstellen. Wir können den Start- und Endpunkt und die Häufigkeit, mit der sich die Zeit ändert, im Attribut timedelta_range()
definieren. Wir können jede dieser Komponenten mit dem Namen dieser Komponente extrahieren. Lassen Sie uns beispielsweise die Tageskomponente aus der obigen Zeitreihe extrahieren. Siehe den Code unten.
import pandas as pd
time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.days
Ausgabe:
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
Sie können jede beliebige Komponente aus der obigen Zeitreihe extrahieren. Wir können das timedelta
auch in eine ganze Zahl umwandeln, indem wir es durch das timedelta
eines Tages dividieren oder seinen ganzzahligen Teil mit dem Attribut astype()
extrahieren. Lassen Sie uns zum Beispiel ein timedelta
-Objekt erstellen und in eine ganze Zahl umwandeln, um mit NumPy
den Wert des Tages zu erhalten. Siehe den Code unten.
import numpy as np
x = np.timedelta64(2058311000000000, "ns")
day = x.astype("timedelta64[D]")
days.astype(int)
Ausgabe:
23.0
Das timedelta
ist eigentlich im Datentyp int64
, und wir können unsere gewünschte Komponente extrahieren, indem wir sie mit dem Attribut astype()
in ein int
umwandeln. Mit der gleichen Methode können wir das timedelta
auch in Stunden oder Sekunden oder jede andere Komponente umrechnen. Dazu müssen wir D
in der dritten Codezeile in h
für Stunden und s
für Sekunden usw. ändern.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn