Pitón | pandas.to_datetime()
Cuando se importa un archivo CSV y se crea un marco de datos, los objetos de fecha y hora del archivo se leen como un objeto de cadena en lugar de un objeto de fecha y hora. Por lo tanto, es muy difícil realizar operaciones como la diferencia horaria en una cadena en lugar de una fecha y hora. objeto. El método Pandas to_datetime() ayuda a convertir la cadena Fecha y hora en Pitón Objeto de fecha y hora.
Pandas.to_datetime() Sintaxis
Sintaxis: pandas.to_datetime(arg, errores='raise', díaprimero=Falso, añoprimero=Falso, utc=Ninguno, cuadro=Verdadero, formato=Ninguno, exacto=Verdadero, unidad=Ninguno, infer_datetime_format=Falso, origen='unix', caché = falso)
Parámetros:
- argumento: Un objeto entero, cadena, flotante, lista o dict para convertir en un objeto Fecha y hora.
- primer día: Valor booleano, coloca el día primero si es Verdadero.
- año primero: Valor booleano, coloca el año primero si es Verdadero.
- UTC: Valor booleano. Devuelve la hora en UTC si es verdadero.
- formato: Entrada de cadena para indicar la posición del día, mes y año.
Tipo de devolución: Fecha y hora
Pandas.to_datetime() en el ejemplo de Pandas
pandas to_datetime() se utiliza para convertir diferentes tipos de datos en objetos de fecha y hora. Veremos diferentes ejemplos de cómo utilizarlo:
Convertir una cadena de Pandas en fecha y hora
Para convertir datos de fecha y hora guardados como textos en objetos de fecha y hora, utilice Pandas.to_datetime(). El formato consta de fecha y hora.
Python3
import> pandas as pd> # date string> d_string> => '2023-09-17 14:30:00'> # Convert the string to datetime> dt_obj> => pd.to_datetime(d_string)> print> (dt_obj)> |
Producción:
2023-09-17 14:30:00
Convertir valores numéricos de Pandas a fecha y hora
Los objetos de fecha y hora se pueden crear a partir de números numéricos que representan el tiempo, como segundos desde la época de Unix. Podemos especificar la unidad de los datos de entrada utilizando el argumento de unidad.
Python3
import> pandas as pd> # Sample numerical value representing seconds since the Unix epoch> unix_timestamp> => 1721700500> # Convert to datetime using 's' (seconds) as the unit> dt_obj> => pd.to_datetime(unix_timestamp, unit> => 's'> )> print> (dt_obj)> |
Producción:
2024-07-23 02:08:20
Convertir la columna Pandas a DateTime
Esto explicará cómo trabajar con datos de fecha y hora usando el Biblioteca de pandas. El objetivo principal es transformar la información de fecha y hora de un archivo CSV a un formato que haga que el análisis sea más fácil de entender y más útil.
Para el enlace al archivo CSV utilizado, haga clic aquí .
Ejemplo 1: Convertir formato de fecha usando pandas
Cadena a fecha En el siguiente ejemplo, se lee un archivo csv y la columna de fecha del marco de datos se convierte en un objeto Fecha y hora a partir de un objeto de cadena.
Python3
# Importing the pandas package> import> pandas as pd> # Making a data frame from a CSV file> data> => pd.read_csv(> '/content/todatetime.csv'> )> # Overwriting data after changing the 'Date' format> data[> 'Date'> ]> => pd.to_datetime(data[> 'Date'> ])> # Corrected: Added quotes around 'Date'> # Info of the data> data.info()> # Display the data> print> (data.head())> |
Producción:
RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 1000 non-null datetime64[ns] 1 Time 1000 non-null object dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB Date Time 0 1993-08-06 12:42 PM 1 1996-03-31 6:53 AM 2 1993-04-23 11:17 AM 3 2005-03-04 1:00 PM 4 1998-01-24 4:47 PM
Como se muestra en la imagen, la columna Tipo de datos de fecha era un objeto, pero después de usar to_datetime(), se convirtió en un objeto de fecha y hora.
Ejemplo 2: Conversión de formato de hora usando Pandas
La excepción al convertir el objeto Time también se puede convertir con este método. Pero dado que en la columna Hora no se especifica una fecha, Pandas pondrá Fecha automáticamente en ese caso.
Python3
# importing pandas package> import> pandas as pd> # making data frame from csv file> data> => pd.read_csv(> '/content/todatetime.csv'> )> # overwriting data after changing format> data[> 'Time'> ]> => pd.to_datetime(data[> 'Time'> ])> # info of data> data.info()> # display> print> (data.head())> |
Producción:
RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 1000 non-null object 1 Time 1000 non-null datetime64[ns] dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB Date Time 0 8/6/1993 2023-10-12 12:42:00 1 3/31/1996 2023-10-12 06:53:00 2 4/23/1993 2023-10-12 11:17:00 3 3/4/2005 2023-10-12 13:00:00 4 1/24/1998 2023-10-12 16:47:00
Como se muestra en el resultado, una fecha (2018-07-07) que es la fecha de hoy ya se agregó con el objeto Fecha y hora.