Maison >développement back-end >Tutoriel Python >Comment convertir les différences horaires Pandas en heures et minutes ?

Comment convertir les différences horaires Pandas en heures et minutes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 19:49:12258parcourir

How to Convert Pandas Time Differences into Hours and Minutes?

Convertir le décalage horaire en heures et minutes dans Pandas

Le calcul du décalage horaire entre deux dates est une tâche courante dans l'analyse de données. Cependant, lorsque vous travaillez avec Pandas, le calcul du décalage horaire par défaut dans df['diff'] = df['fromdate'] - df['todate'] peut donner lieu à des jours, même lorsque le décalage horaire est inférieur à 24 heures. Cela peut être gênant si vous avez besoin des résultats en heures et minutes.

Pour convertir le décalage horaire en heures et minutes, nous pouvons utiliser la méthode astype() sur l'objet DatetimeIndex renvoyé par l’opération de soustraction. Cette méthode nous permet de convertir la différence en une unité de temps spécifique.

Voici comment procéder :

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']

# Convert time difference to hours
df['hours'] = df['diff'].astype('timedelta64[h]')

# Convert time difference to minutes
df['minutes'] = (df['diff'] - df['hours']).astype('timedelta64[m]')

Cela convertira la différence de temps en heures et minutes, ce qui donnera un DataFrame qui ressemble à ceci :

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

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