Python | Pandas.to_datetime()
Când un fișier CSV este importat și se realizează un cadru de date, obiectele Date time din fișier sunt citite ca un obiect șir, mai degrabă decât un obiect Date Time. Prin urmare, este foarte dificil să efectuați operațiuni precum diferența de timp pe un șir, mai degrabă decât un obiect Date Time. obiect. Metoda Pandas to_datetime() ajută la conversia șirului Date time în Piton obiect data oră.
Sintaxă Pandas.to_datetime().
Sintaxă: pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=fals)
Parametri:
- arg: Un întreg, șir, float, listă sau dict obiect pentru a fi convertit în obiect Date time.
- prima zi: Valoare booleană, plasează ziua pe primul loc dacă este adevărat.
- primul an: Valoare booleană, plasează anul pe primul loc dacă este adevărat.
- UTC: Valoare booleană, returnează ora în UTC dacă este adevărat.
- format: Intrare șir pentru a spune poziția zilei, lunii și anului.
Tip de returnare: Datetime
Pandas.to_datetime() în exemplul Pandas
panda to_datetime() este folosit pentru a converti diferite tipuri de date în obiecte datetime. Vom vedea diferite exemple despre cum să-l folosim:
Convertiți un șir Pandas în Datetime
Pentru a converti datele date și oră salvate ca texte în obiecte datetime, utilizați Pandas.to_datetime(). Formatul constă din dată și oră.
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)> |
Ieșire:
2023-09-17 14:30:00
Convertiți valorile numerice Pandas în Datetime
Obiectele datetime pot fi create din numere numerice care reprezintă timpul, cum ar fi secunde de la epoca Unix. Putem specifica unitatea datelor de intrare folosind argumentul unit.
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)> |
Ieșire:
2024-07-23 02:08:20
Convertiți coloana Pandas în DateTime
Aceasta va explica cum să lucrați cu date și oră folosind Biblioteca panda. Obiectivul principal este de a transforma informațiile despre dată și oră dintr-un fișier CSV într-un format care face analiza mai ușor de înțeles și mai utilă.
Pentru link-ul către fișierul CSV utilizat, click aici .
Exemplul 1: Conversia formatului datei folosind Panda
String to Date În exemplul următor, un fișier csv este citit și coloana de dată din Cadrul de date este convertită în obiect Date Time dintr-un obiect șir.
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())> |
Ieșire:
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
După cum se arată în imagine, coloana Data Type of Date a fost obiect, dar după ce a fost folosit to_datetime(), a fost convertită într-un obiect de dată și oră.
Exemplul 2: Conversia formatului de timp folosind Pandas
Excepția în timpul conversiei Time object poate fi, de asemenea, convertită cu această metodă. Dar deoarece în coloana Ora, nu este specificată o dată și, prin urmare, Pandas va pune Data de azi automat în acest caz.
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())> |
Ieșire:
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
După cum se arată în rezultat, o dată (2018-07-07) care este data de astăzi este deja adăugată cu obiectul Date time.