Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich den Zeitunterschied in Stunden und Minuten zwischen zwei Pandas-DataFrame-Spalten effizient berechnen?

Wie kann ich den Zeitunterschied in Stunden und Minuten zwischen zwei Pandas-DataFrame-Spalten effizient berechnen?

DDD
Freigeben: 2024-12-01 07:37:10
Original
566 Leute haben es durchsucht

How Can I Efficiently Calculate the Time Difference in Hours and Minutes Between Two Pandas DataFrame Columns?

Berechnen Sie den Zeitunterschied zwischen zwei Pandas-Spalten in Stunden und Minuten

Das Bestimmen des Zeitunterschieds zwischen zwei Datumsspalten in einem DataFrame kann nützlich sein für verschiedene Anwendungen. Der Standardansatz mit dem Subtraktionsoperator führt jedoch zu einem datetime.timedelta-Objekt, das Tage enthält. Um dies in Stunden und Minuten umzuwandeln, können wir die Methode as_type nutzen.

Angenommen, wir haben zwei Spalten in unserem DataFrame, fromdate und todate, die jeweils die Start- und Endzeiten darstellen. Mit dem Subtraktionsoperator erhalten wir den Zeitunterschied wie folgt:

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)
df['diff'] = df['fromdate'] - df['todate']
Nach dem Login kopieren

Dies gibt uns die folgende Ausgabe, die Tage umfasst:

                    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
Nach dem Login kopieren

Um den Zeitunterschied nur in Stunden umzuwandeln und Minuten können wir die Methode as_type verwenden, um das Objekt datetime.timedelta in ein zu konvertieren timedelta64 Objekt mit einer bestimmten Maßeinheit:

df['diff_hours'] = df['diff'].astype('timedelta64[h]')
Nach dem Login kopieren

Dies gibt uns die Ausgabe:

                    todate                 fromdate                  diff  diff_hours
0 2014-01-24 13:03:12.050  2014-01-26 23:41:21.870  2 days 10:38:09.820  58
1 2014-01-27 11:57:18.240  2014-01-27 15:38:22.540  0 days 03:41:04.300   3
2 2014-01-23 10:07:47.660  2014-01-23 18:50:41.420  0 days 08:42:53.760   8
Nach dem Login kopieren

Wie Sie sehen können, sind die diff_hoursSpalte enthält jetzt den Zeitunterschied zwischen den beiden Daten in Stunden.

Das obige ist der detaillierte Inhalt vonWie kann ich den Zeitunterschied in Stunden und Minuten zwischen zwei Pandas-DataFrame-Spalten effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage