2017-07-24 4 views
-1

Je le tableau suivant:Comment convertir jour et jour en python?

DayTime 
1 days 19:55:00 
134 days 15:34:00 

Comment convertir le jour pleinement jour? Ce qui signifie que les heures vont changer en jour (diviser par 24)

+0

Avez-vous regardé le python [datetime] (https: // docs.python.org/2/library/datetime.html) module? En particulier l'objet timedelta et la méthode strptime. –

Répondre

1

Vous pouvez convertir Timedeltas en unités de temps numériques en divisant par des unités de Timedelta. Par exemple,

import pandas as pd 
df = pd.DataFrame({'DayTime':['1 days 19:55:00', '134 days 15:34:00']}) 
df['DayTime'] = pd.to_timedelta(df['DayTime']) 
days = df['DayTime']/pd.Timedelta(hours=24) 
print(days) 

cède

0  1.829861 
1 134.648611 
Name: DayTime, dtype: float64 

Notez que ci-dessus je suppose que 1 jour = 24 heures. Ce n'est pas toujours vrai. Certains jours sont de 24 heures + 1 leap second longtemps.

0

Sans l'aide de pandas géants et en python 2.7 (python 3 timedeltas peut être divisé directement):

import re 
from datetime import timedelta 

def full_days(day_time): 
    d, h, m, s = map(int, re.split('\D+', day_time)) 
    delta = timedelta(hours=h, minutes=m, seconds=s) 
    return d + delta.total_seconds()/timedelta(days=1).total_seconds() 

print full_days('1 days 19:55:00') 
print full_days('0 days 43:55:00') 
print full_days('134 days 15:34:00') 

Sorties:

1.82986111111 
1.82986111111 
134.648611111