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

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

Susan Sarandon
Susan Sarandonoriginal
2024-12-01 15:11:09259parcourir

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

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

Dans l'analyse des données, il est souvent nécessaire de calculer la différence de temps entre deux dates ou horodatages. Pandas, une bibliothèque d'analyse de données populaire en Python, fournit des méthodes pratiques pour de tels calculs. Cependant, lorsque le décalage horaire dépasse 24 heures, le résultat peut inclure des jours comme composante. Cet article explique comment convertir ce résultat pour afficher uniquement les heures et les minutes.

Considérez l'exemple de dataframe suivant avec deux colonnes, fromdate et 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)

Pour calculer la différence entre les deux dates, nous pouvons utiliser l'opérateur - :

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

Cette opération aboutit à la colonne diff, qui contient les objets datetime.timedelta. Cependant, ces objets peuvent inclure des jours en tant que composant, comme le montre le résultat suivant :

                    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

Pour convertir ce résultat en heures et minutes uniquement, nous pouvons utiliser la méthode astype() avec le 'timedelta64[ h]' argument :

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

Ce code convertira les différences horaires en heures, donnant le résultat suivant :

0    58
1     3
2     8
dtype: float64

Par en appliquant cette méthode, nous pouvons obtenir la différence de temps entre deux dates ou horodatages en heures et minutes, que la différence dépasse ou non 24 heures.

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