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
Libérer: 2024-12-01 15:11:09
original
312 Les gens l'ont consulté

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)
Copier après la connexion

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

df['diff'] = df['fromdate'] - df['todate']
Copier après la connexion

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
Copier après la connexion

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]')
Copier après la connexion

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

0    58
1     3
2     8
dtype: float64
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal