J'ai un tableau plein de timedeltas que je veux pouvoir les convertir en heures.
print(times_arr) array([datetime.timedelta(seconds=28800), datetime.timedelta(seconds=30600), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=27000), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=30600), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=27000), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=30600), datetime.timedelta(seconds=27000), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=23400), datetime.timedelta(seconds=30600), datetime.timedelta(seconds=28800), datetime.timedelta(seconds=23400)])
Quelqu'un sait-il comment je peux convertir ce tableau en heures alors array [(8, 8.56 etc.
J'ai essayé tout ce que je sais faire. Je suis nouveau à python. Merci
3 Réponses :
Convertissez en timedelta64 [m]
dtype, puis allez à partir de là:
arr.astype('timedelta64[m]').astype(int) / 60 # array([8. , 8.5, 6.5, 7.5, 6.5, 6.5, 8.5, 6.5, 7.5, 6.5, 8.5, 7.5, 6.5, # 6.5, 8.5, 8. , 6.5])
Vous pouvez diviser le nombre total de secondes de chaque chronomètre par 3600 pour obtenir le résultat souhaité.
new = np.array([delta.total_seconds() / 3600 for delta in times_array])
Essayez ceci.
from datetime import datetime,timedelta print(datetime.strptime(str(timedelta(seconds=30600)),'%H:%M:%S').strftime('%H.%M')) 08.30