Konvertieren Timedelta in Int in Pandas

Konvertieren Timedelta in Int in Pandas

Muhammad Maisam Abbas Jan-23, 2022 Jan-22, 2022 Pandas Pandas DateTime

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:

Pandas-Zeitreihen

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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Verwandter Artikel - Pandas DateTime

  • Wie man DataFrame-Zeilen basierend auf dem Datum in Pandas filtert