sklearn python time formatting

sklearn - roc curve python



Cómo obtener horas: minutos (4)

¿Cuál es la cantidad de segundos en la película? Eso es un mal nombre. Python ya usa la palabra len para otra cosa. Cambialo.

def display_movie_length(seconds): # the // ensures you are using integer division # You can also use / in python 2.x hours = seconds // 3600 # You need to understand how the modulo operator works rest_of_seconds = seconds % 3600 # I''m sure you can figure out what to do with all those leftover seconds minutes = minutes_from_seconds(rest_of_seconds) return "%d:%02d" % (hours, minutes)

Todo lo que necesita hacer es averiguar qué minutes/_from/_seconds() se supone que debe minutes/_from/_seconds() . Si todavía está confundido, investigue un poco sobre el operador de módulo.

Tengo un script aquí (no el mío) que calcula la duración de una película en mi receptor de sat. Muestra la duración en minutos: segundos

Quiero tener eso en horas: minutos

¿Qué cambios debo hacer?

Esta es la paz del script en cuestión:

if len > 0: len = "%d:%02d" % (len / 60, len % 60) else: len = "" res = [ None ]

Ya tengo las horas dividiendo entre 3600 en lugar de 60 pero no puedo obtener los minutos ...

Gracias por adelantado

Peter


hours = secs / 3600 minutes = secs / 60 - hours * 60 len = "%d:%02d" % (hours, minutes)

O, para versiones más recientes de Python:

hours = secs // 3600 minutes = secs // 60 - hours * 60 len = "%d:%02d" % (hours, minutes)


Puedes usar timedelta

from datetime import timedelta str(timedelta(minutes=100))[:-3] # "1:40"


Hay una buena respuesta a esto aquí https://.com/a/20291909/202168 (un duplicado posterior de esta pregunta)

Sin embargo, si se trata de compensaciones de zona horaria en una cadena de fecha y hora, también debe manejar las horas negativas, en cuyo caso el relleno cero en la respuesta de Martijn no funciona

por ejemplo, devolvería -4:00 vez de -04:00

Para solucionar esto, el código se vuelve un poco más largo, como se muestra a continuación:

offset_h, offset_m = divmod(offset_minutes, 60) sign = ''-'' if offset_h < 0 else ''+'' offset_str = ''{}{:02d}{:02d}''.format(sign, abs(offset_h), offset_m)