Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man den Zeitunterschied zwischen zwei Pandas-Säulen nur in Stunden und Minuten?

Wie berechnet man den Zeitunterschied zwischen zwei Pandas-Säulen nur in Stunden und Minuten?

Susan Sarandon
Susan SarandonOriginal
2024-12-01 15:11:09259Durchsuche

How to Calculate the Time Difference Between Two Pandas Columns in Hours and Minutes Only?

Zeitdifferenz zwischen zwei Pandas-Spalten in Stunden und Minuten berechnen

Bei der Datenanalyse ist es oft notwendig, die Zeitdifferenz zwischen zwei Datums- oder Zeitstempeln zu berechnen. Pandas, eine beliebte Datenanalysebibliothek in Python, bietet praktische Methoden für solche Berechnungen. Wenn der Zeitunterschied jedoch 24 Stunden überschreitet, kann das Ergebnis auch Tage als Komponente enthalten. In diesem Artikel erfahren Sie, wie Sie dieses Ergebnis umwandeln, um nur Stunden und Minuten anzuzeigen.

Betrachten Sie den folgenden Beispieldatenrahmen mit zwei Spalten, fromdate und todate:

import pandas as pd

data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'),
                    pd.Timestamp('2014-01-27 11:57:18.240000'),
                    pd.Timestamp('2014-01-23 10:07:47.660000')],
        'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'),
                    pd.Timestamp('2014-01-27 15:38:22.540000'),
                    pd.Timestamp('2014-01-23 18:50:41.420000')]}

df = pd.DataFrame(data)

Um die Differenz zwischen den beiden zu berechnen Für Daten können wir den Operator - verwenden:

df['diff'] = df['fromdate'] - df['todate']

Dieser Vorgang führt zur Diff-Spalte, die datetime.timedelta-Objekte enthält. Allerdings können diese Objekte Tage als Komponente enthalten, wie in der folgenden Ausgabe zu sehen ist:

                    todate                 fromdate                    diff
0 2014-01-24 13:03:12.050  2014-01-26 23:41:21.870  2 days 10:38:09.820000
1 2014-01-27 11:57:18.240  2014-01-27 15:38:22.540  0 days 03:41:04.300000
2 2014-01-23 10:07:47.660  2014-01-23 18:50:41.420  0 days 08:42:53.760000

Um dieses Ergebnis nur in Stunden und Minuten umzuwandeln, können wir die Methode astype() mit der Funktion „timedelta64[“ verwenden. h]'-Argument:

(df.fr-df.to).astype('timedelta64[h]')

Dieser Code wandelt die Zeitunterschiede in Stunden um und liefert die folgende Ausgabe:

0    58
1     3
2     8
dtype: float64

Durch die Anwendung Mit dieser Methode können wir die Zeitdifferenz zwischen zwei Daten oder Zeitstempeln in Stunden und Minuten ermitteln, unabhängig davon, ob die Differenz 24 Stunden überschreitet oder nicht.

Das obige ist der detaillierte Inhalt vonWie berechnet man den Zeitunterschied zwischen zwei Pandas-Säulen nur in Stunden und Minuten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn