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:
- arg: Un objecte enter, cadena, flotant, llista o dictat per convertir-lo en objecte Date time.
- primer dia: Valor booleà, col·loca el primer dia si és cert.
- primer any: Valor booleà, col·loca l'any primer si és cert.
- utc: Valor booleà, retorna l'hora en UTC si és cert.
- 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.