Maison >développement back-end >Tutoriel Python >Comment calculer la différence de temps en heures et minutes entre deux colonnes Pandas ?

Comment calculer la différence de temps en heures et minutes entre deux colonnes Pandas ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-01 22:52:10852parcourir

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

Calculer la différence de temps entre deux colonnes Pandas en heures et minutes

Lorsque vous travaillez avec des données temporelles dans Pandas, il est souvent nécessaire de calculer la différence entre deux colonnes date ou datetime. Par défaut, ce calcul renvoie un objet datetime.timedelta qui inclut les jours, les heures, les minutes et les secondes. Cependant, dans certains scénarios, vous souhaiterez peut-être afficher uniquement les heures et les minutes.

Pour y parvenir, nous pouvons exploiter la méthode as_type fournie par Pandas. Voici comment procéder :

import pandas as pd
import numpy as np

# Create a DataFrame with 'todate' and 'fromdate' columns
data = {'todate': pd.to_datetime(['2014-01-24 13:03:12.050000', '2014-01-27 11:57:18.240000', '2014-01-23 10:07:47.660000']),
        'fromdate': pd.to_datetime(['2014-01-26 23:41:21.870000', '2014-01-27 15:38:22.540000', '2014-01-23 18:50:41.420000'])}
df = pd.DataFrame(data)

# Calculate the difference between 'todate' and 'fromdate'
df['diff'] = df['fromdate'] - df['todate']

# Convert the 'diff' column to hours and minutes
df['diff'] = df['diff'].astype(np.timedelta64, copy=False)

En convertissant la colonne diff en un objet timedelta64 avec une précision en heures, nous ignorons le composant jours et ne conservons que les heures et les minutes.

Sortie :

                   todate                 fromdate                    diff
0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 58 hours 0 minutes
1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540  3 hours 41 minutes
2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420  8 hours 42 minutes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn