Python | Pandas.to_datetime()
Når en CSV-fil importeres og en dataramme lages, leses Dato-klokkeslett-objektene i filen som et strengobjekt i stedet for et Date Time-objekt. Derfor er det veldig vanskelig å utføre operasjoner som tidsforskjell på en streng i stedet for en Date Time. gjenstand. Pandas to_datetime()-metoden hjelper til med å konvertere strengen Datetime til Python Dato klokkeslett objekt.
Pandas.to_datetime() Syntaks
Syntaks: pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=Ingen, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=False)
Parametere:
- arg: Et heltall, streng, float, liste eller dict-objekt som skal konverteres til Date time-objekt.
- dag først: Boolsk verdi, plasserer dagen først hvis True.
- første året: Boolsk verdi, plasserer året først hvis True.
- utc: Boolsk verdi, Returnerer tid i UTC hvis True.
- format: Inndatastreng for å fortelle posisjonen til dag, måned og år.
Returtype: Dato tid
Pandas.to_datetime() i Pandas Eksempel
Pandaer to_datetime() brukes til å konvertere forskjellige datatyper til datetime-objekter. Vi vil se forskjellige eksempler på hvordan du bruker det:
Konverter en Pandas-streng til Datetime
For å konvertere dato- og klokkeslettdata lagret som tekster til datetime-objekter, bruk Pandas.to_datetime(). Formatet består av dato og klokkeslett.
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)> |
Produksjon:
2023-09-17 14:30:00
Konverter Pandas numeriske verdier til Datetime
Datetime-objektene kan lages fra numeriske tall som representerer tid, for eksempel sekunder siden Unix-epoken. Vi kan spesifisere enheten for inngangsdataene ved å bruke enhetsargumentet.
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)> |
Produksjon:
2024-07-23 02:08:20
Konverter Pandas-kolonnen til DateTime
Dette vil forklare hvordan du arbeider med dato- og klokkeslettdata ved å bruke Pandas bibliotek. Hovedmålet er å transformere informasjon om dato og klokkeslett fra en CSV-fil til et format som gjør analysen enklere å forstå og mer nyttig.
For lenken til CSV-filen som brukes, Klikk her .
Eksempel 1: Konvertering av datoformat bruker pandaer
String to Date I følgende eksempel leses en csv-fil og datokolonnen i Dataframe konverteres til Date Time-objekt fra et strengobjekt.
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())> |
Produksjon:
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
Som vist på bildet var datatype for dato-kolonnen objekt, men etter å ha brukt to_datetime(), ble den konvertert til et dato-tidsobjekt.
Eksempel 2: Konvertering av tidsformat ved hjelp av pandaer
Unntak under konvertering av Time-objekt kan også konverteres med denne metoden. Men siden i Tid-kolonnen, er det ikke spesifisert en dato, og derfor vil Pandas sette Dagens dato automatisk i så fall.
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())> |
Produksjon:
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
Som vist i utdataene, er en dato (2018-07-07) som er dagens dato allerede lagt til med Date time-objektet.