logo

Python | Pandas.to_datetime()

Quan s'importa un fitxer CSV i es crea un marc de dades, els objectes de data i hora del fitxer es llegeixen com un objecte de cadena en lloc d'un objecte de data i hora. Per tant, és molt difícil realitzar operacions com la diferència de temps en una cadena en lloc d'una data i hora. objecte. El mètode Pandas to_datetime() ajuda a convertir la cadena Date time en Python Objecte data hora.

Sintaxi Pandas.to_datetime().

Sintaxi: pandas.to_datetime(arg, errors='augment', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', memòria cau = fals)



Paràmetres:

  1. arg: Un objecte enter, cadena, flotant, llista o dictat per convertir-lo en objecte Date time.
  2. primer dia: Valor booleà, col·loca el primer dia si és cert.
  3. primer any: Valor booleà, col·loca l'any primer si és cert.
  4. utc: Valor booleà, retorna l'hora en UTC si és cert.
  5. format: Entrada de cadena per indicar la posició del dia, mes i any.

Tipus de retorn: Data i hora

Pandas.to_datetime() a Pandas Exemple

Pandes to_datetime() s'utilitza per convertir diferents tipus de dades en objectes datetime. Veurem diferents exemples de com utilitzar-lo:



Converteix una cadena Pandas a Datetime

Per convertir les dades de data i hora desades com a textos en objectes de data i hora, utilitzeu Pandas.to_datetime(). El format consta de la data i l'hora.

Python 3






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

>

cadena invertida java
>

Sortida:

2023-09-17 14:30:00>

Converteix els valors numèrics de Pandas a Datetime

Els objectes de data i hora es poden crear a partir de números numèrics que representen el temps, com ara els segons des de l'època Unix. Podem especificar la unitat de les dades d'entrada utilitzant l'argument unit.

Python 3




cadena a json java

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

>

>

Sortida:

2024-07-23 02:08:20>

Converteix la columna Pandas a DateTime

Això s'explicarà com treballar amb dades de data i hora utilitzant el Biblioteca dels Pandes. L'objectiu principal és transformar la informació de data i hora d'un fitxer CSV en un format que faci l'anàlisi més fàcil d'entendre i més útil.

Per a l'enllaç al fitxer CSV utilitzat, clica aquí .

Exemple 1: Conversió del format de data utilitzant Pandas

Cadena a data En l'exemple següent, es llegeix un fitxer csv i la columna de data del marc de dades es converteix en un objecte de data i hora des d'un objecte de cadena.

Python 3




# 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())>

>

>

Sortida:

 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>

Com es mostra a la imatge, la columna Tipus de dades de data era un objecte, però després d'utilitzar to_datetime(), es va convertir en un objecte de data i hora.

Exemple 2: Conversió del format de temps amb Pandas

L'excepció durant la conversió de l'objecte Time també es pot convertir amb aquest mètode. Però com que a la columna Hora, no s'especifica una data i, per tant, hi posarà Pandas La cita d'avui automàticament en aquest cas.

Python 3




# 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())>

>

notes al peu de reducció

>

Sortida:

 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>

Com es mostra a la sortida, ja s'afegeix una data (07-07-2018) que és la data d'avui amb l'objecte Data hora.