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)
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)
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.
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
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. –