Pythona | Pandy.to_datetime()
Kiedy plik CSV jest importowany i tworzona jest ramka danych, obiekty typu Data i godzina w pliku są odczytywane jako obiekt łańcuchowy, a nie jako obiekt typu Data i godzina. Dlatego bardzo trudno jest wykonywać operacje takie jak różnica czasu na ciągu znaków, a nie jako obiekt typu Data i godzina. obiekt. Metoda Pandas to_datetime() pomaga przekonwertować ciąg znaków Data na Pyton Obiekt daty i godziny.
Składnia Pandas.to_datetime().
Składnia: pandas.to_datetime(arg, error='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, dokładne=True, unit=None, infer_datetime_format=False, origin='unix', pamięć podręczna = fałsz)
Parametry:
- argument: Obiekt typu liczba całkowita, ciąg znaków, liczba zmiennoprzecinkowa, lista lub obiekt dyktowany, który ma zostać przekonwertowany na obiekt daty i godziny.
- pierwszy dzień: Wartość logiczna, umieszcza dzień na pierwszym miejscu, jeśli ma wartość True.
- pierwszy rok: Wartość logiczna, jeśli ma wartość True, umieszcza rok na pierwszym miejscu.
- utc: Wartość logiczna. Zwraca czas w formacie UTC, jeśli jest prawdziwy.
- format: Ciąg wejściowy określający położenie dnia, miesiąca i roku.
Typ zwrotu: Data i godzina
Pandas.to_datetime() w przykładzie Pand
Pandy to_datetime() służy do konwertowania różnych typów danych na obiekty datetime. Zobaczymy różne przykłady, jak z niego korzystać:
Konwertuj ciąg Pand na DateTime
Aby przekonwertować dane daty i godziny zapisane jako teksty na obiekty datetime, użyj Pandas.to_datetime(). Format składa się z daty i godziny.
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)> |
Wyjście:
2023-09-17 14:30:00
Konwertuj wartości liczbowe Pand na datę i godzinę
Obiekty datetime można tworzyć z liczb liczbowych reprezentujących czas, na przykład sekundy od epoki Uniksa. Jednostkę danych wejściowych możemy określić za pomocą argumentu jednostki.
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)> |
Wyjście:
2024-07-23 02:08:20
Konwertuj kolumnę Pandy na DateTime
W tym artykule wyjaśniono, jak pracować z danymi dotyczącymi daty i godziny za pomocą narzędzia Biblioteka Pand. Głównym celem jest przekształcenie informacji o dacie i godzinie z pliku CSV do formatu, który sprawia, że analiza jest łatwiejsza do zrozumienia i bardziej użyteczna.
Aby uzyskać link do użytego pliku CSV, Kliknij tutaj .
Przykład 1: Konwersja formatu daty za pomocą Pand
String to Date W poniższym przykładzie odczytywany jest plik csv, a kolumna daty w ramce danych jest konwertowana na obiekt Date Time z obiektu string.
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())> |
Wyjście:
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
Jak pokazano na obrazku, kolumna Typ danych daty była obiektem, ale po użyciu to_datetime() została przekonwertowana na obiekt daty i godziny.
Przykład 2: Konwersja formatu czasu za pomocą Pand
Wyjątek podczas konwersji obiektu Time można również przekonwertować tą metodą. Ponieważ jednak w kolumnie Czas nie jest określona data, dlatego Pandy ją wstawią Dzisiejsza data automatycznie w takim przypadku.
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())> |
Wyjście:
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
Jak pokazano na wynikach, data (2018-07-07), czyli dzisiejsza data, została już dodana do obiektu Data i godzina.