logo

Python | Pandas.to_datetime()

När en CSV-fil importeras och en dataram skapas, läses Date time-objekten i filen som ett strängobjekt snarare än ett Date Time-objekt. Därför är det mycket svårt att utföra operationer som tidsskillnad på en sträng snarare än en Date Time. objekt. Pandas to_datetime()-metoden hjälper till att konvertera strängen Datetime till Pytonorm Datum och tid objekt.

Pandas.to_datetime() Syntax

Syntax: pandas.to_datetime(arg, errors='höja', dayfirst=False, yearfirst=False, utc=Ingen, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=False)



Parametrar:

  1. arg: Ett heltals-, sträng-, float-, list- eller dict-objekt att konvertera till ett Date time-objekt.
  2. dagen först: Booleskt värde, placerar dagen först om det är sant.
  3. första året: Booleskt värde, placerar året först om det är sant.
  4. utc: Boolean värde, Returnerar tid i UTC om sant.
  5. formatera: Strängingång för att tala om position för dag, månad och år.

Returtyp: Datum Tid

Pandas.to_datetime() i Pandas exempel

Pandas to_datetime() används för att konvertera olika datatyper till datetime-objekt. Vi kommer att se olika exempel på hur man använder det:



Konvertera en Pandas-sträng till Datetime

För att konvertera datum- och tidsdata sparade som texter till datetime-objekt, använd Pandas.to_datetime(). Formatet består av datum och tid.

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

>

vad är uri
>

Produktion:

2023-09-17 14:30:00>

Konvertera Pandas numeriska värden till Datetime

Datetime-objekten kan skapas från numeriska siffror som representerar tid, till exempel sekunder sedan Unix-epoken. Vi kan specificera enheten för indata genom att använda 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)>

>

>

Produktion:

2024-07-23 02:08:20>

Konvertera Pandas kolumn till DateTime

Detta kommer att förklara hur man arbetar med datum- och tidsdata med hjälp av Pandas bibliotek. Huvudsyftet är att omvandla information om datum och tid från en CSV-fil till ett format som gör analysen lättare att förstå och mer användbar.

För länken till CSV-filen som används, Klicka här .

Exempel 1: Konvertera datumformat använder pandor

String to Date I följande exempel läses en csv-fil och datumkolumnen i Dataframe konverteras till Date Time-objekt från ett strängobjekt.

Python3

konvertera char till sträng




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

>

>

Produktion:

 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 visas i bilden var kolumnen Data Type of Date objekt, men efter att ha använt to_datetime() konverterades den till ett date time-objekt.

delsträngsmetod i java

Exempel 2: Konvertera tidsformat med Pandas

Undantag vid konvertering av Time-objekt kan också konverteras med denna metod. Men eftersom det i kolumnen Tid inte anges något datum och därför kommer Pandas att sätta Dagens datum automatiskt 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())>

>

>

Produktion:

 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 visas i utgången har ett datum (2018-07-07) som är dagens datum redan lagts till med Date time-objektet.