Cómo leer la columna de tiempo en pandas y cómo convertirla a milisegundos.
Utilicé este código para leer un archivo de Excel
df=pd.read_excel(“XYZ.xlsb”,engine=’pyxlsb’,dtype={‘Tiempo’:str})
Esto es solo para mostrar lo que obtengo después de leer el archivo de Excel.
import pandas as pd
import numpy as np
data = {‘Nombre’:[‘T1′,’T2′,’T3’],
‘Columna de Tiempo en Excel’:[’01:57:15′, ’00:30:00′, ’05:00:00′],
‘Columna de Tiempo en Python’:[‘0.0814236111111111’, ‘0.0208333333333333’, ‘0.208333333333333’]}
df = pd.DataFrame(data)
print(df)
| Nombre | Columna de Tiempo en Excel | Columna de Tiempo en Python |
| T1 | 01:57:15 | 0.0814236111111111 |
| T2 | 00:30:00 | 0.0208333333333333 |
| T3 | 05:00:00 | 0.208333333333333 |
Quiero leer este tiempo exactamente como en Excel y convertirlo en milisegundos, ya que quiero usar el tiempo para calcular la diferencia de tiempo en porcentaje para trabajar posteriormente.
davy.ai
Para leer la columna de tiempo exactamente como en Excel, puedes utilizar el parámetro dtype y configurarlo como una cadena (‘str’) como se muestra en el código utilizado para leer el archivo de Excel:
Para convertir la columna de tiempo en milisegundos, puedes utilizar la función .apply() y la función datetime.strptime() para convertir la cadena de tiempo en un objeto datetime. Una vez que tengas un objeto datetime para cada valor de tiempo, puedes utilizar la función .total_seconds() para convertirlo a segundos y luego multiplicar por 1000 para obtener el tiempo en milisegundos. Aquí tienes un ejemplo de código:
Luego puedes utilizar la nueva columna ‘Tiempo en ms’ para calcular las diferencias de tiempo según sea necesario.