Python | Pandas.to_datetime()

Kai importuojamas CSV failas ir sukuriamas duomenų rėmelis, failo datos ir laiko objektai nuskaitomi kaip eilutės objektas, o ne datos laiko objektas, todėl labai sunku atlikti tokias operacijas kaip Laiko skirtumas eilutėje, o ne datos laikas. objektas. Pandas to_datetime() metodas padeda paversti eilutę Date time į Python Datos ir laiko objektas.

Pandas.to_datetime() Sintaksė

Sintaksė: pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=Klaidinga, utc=Nėra, box=Tiesa, format=Nėra, specific=Tiesa, unit=Nėra, infer_datetime_format=Klaidinga, origin='unix', talpykla = False)

Parametrai:

  1. arg: Sveikasis skaičius, eilutė, plūduriuojantis, sąrašo arba diktuojamas objektas, konvertuojamas į datos ir laiko objektą.
  2. diena pirma: Būlio reikšmė, diena yra pirmoji, jei tiesa.
  3. pirmi metai: Būlio reikšmė, metai yra pirmoje vietoje, jei tiesa.
  4. utc: Būlio reikšmė, grąžina laiką UTC, jei tiesa.
  5. formatas: Eilutės įvestis, nurodanti dienos, mėnesio ir metų padėtį.

Grąžinimo tipas: Data ir laikas

Pandas.to_datetime() Pandos pavyzdyje

Pandos to_datetime() naudojamas konvertuoti skirtingus duomenų tipus į datetime objektus. Pamatysime įvairių pavyzdžių, kaip jį naudoti:

Konvertuokite Pandos eilutę į Datetime

Norėdami konvertuoti datos ir laiko duomenis, išsaugotus kaip tekstai, į datos ir laiko objektus, naudokite Pandas.to_datetime(). Formatas susideda iš datos ir laiko.

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

Išvestis:

2023-09-17 14:30:00 

Konvertuokite Pandų skaitines reikšmes į Datetime

Datos ir laiko objektus galima sukurti iš skaitinių skaičių, nurodančių laiką, pvz., sekundes nuo Unix epochos. Įvesties duomenų vienetą galime nurodyti naudodami vieneto argumentą.

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

Išvestis:

2024-07-23 02:08:20 

Konvertuoti Pandos stulpelį į DateTime

Tai paaiškins, kaip dirbti su datos ir laiko duomenimis naudojant Pandos biblioteka. Pagrindinis tikslas yra paversti datos ir laiko informaciją iš CSV failo į formatą, kad analizė būtų lengviau suprantama ir naudingesnė.

Norėdami gauti nuorodą į naudojamą CSV failą, paspauskite čia .

1 pavyzdys: Konvertavimo datos formatas naudojant Pandas

Eilutė iki datos Šiame pavyzdyje nuskaitomas csv failas ir duomenų rėmelio datos stulpelis konvertuojamas į objektą Date Time iš eilutės objekto.

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

Išvestis:

 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 

Kaip parodyta paveikslėlyje, stulpelis Data Type of Data buvo objektas, tačiau panaudojus to_datetime(), jis buvo konvertuotas į datos ir laiko objektą.

2 pavyzdys: Laiko formato konvertavimas naudojant Pandas

Išimtis konvertuojant Laiko objektą taip pat galima konvertuoti šiuo metodu. Bet kadangi stulpelyje „Laikas“ data nenurodoma, todėl „Pandos“ įdės Šios dienos data automatiškai tokiu atveju.

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

Išvestis:

 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 

Kaip parodyta išvestyje, data (2018-07-07), kuri yra Šiandienos data, jau pridėta prie Datos laiko objekto.