Python | Pandas.to_datetime()

Коли імпортується файл CSV і створюється кадр даних, об’єкти «Дата-час» у файлі зчитуються як рядковий об’єкт, а не як об’єкт «Дата-час». Тому дуже важко виконувати такі операції, як «різниця в часі» над рядком, а не як «Дата-час». об'єкт. Метод Pandas to_datetime() допомагає перетворити рядок Date у час Python Дата і час об'єкт.

Синтаксис Pandas.to_datetime().

Синтаксис: 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=False)

Параметри:

  1. аргумент: Ціле число, рядок, число з плаваючою точкою, список або об’єкт dict для перетворення на об’єкт «Дата і час».
  2. день перший: Логічне значення, день ставиться першим, якщо True.
  3. рік перший: Логічне значення, рік ставиться першим, якщо True.
  4. utc: Логічне значення, повертає час у UTC, якщо True.
  5. формат: Введення рядка для визначення положення дня, місяця та року.

Тип повернення: Дата, час

Pandas.to_datetime() у прикладі Pandas

панди to_datetime() використовується для перетворення різних типів даних в об’єкти datetime. Ми побачимо різні приклади того, як це використовувати:

Перетворіть рядок Pandas на Datetime

Щоб перетворити дані дати й часу, збережені як текст, у об’єкти datetime, використовуйте Pandas.to_datetime(). Формат складається з дати та часу.

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

Вихід:

2023-09-17 14:30:00 

Перетворення числових значень Pandas на дату й час

Об’єкти datetime можуть бути створені з числових чисел, які представляють час, наприклад секунди з епохи Unix. Ми можемо вказати одиницю вхідних даних за допомогою аргументу 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)>

Вихід:

2024-07-23 02:08:20 

Перетворіть стовпець Pandas на DateTime

Тут пояснюється, як працювати з даними дати й часу за допомогою Бібліотека панд. Основна мета — перетворити інформацію про дату й час із файлу CSV у формат, який робить аналіз легшим для розуміння та більш корисним.

Для посилання на файл CSV, який використовується, натисніть тут .

приклад 1: Перетворення формату дати за допомогою Pandas

Рядок до дати У наступному прикладі файл CSV зчитується, а стовпець дати кадру даних перетворюється на об’єкт «Дата-час» із об’єкта рядка.

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

Вихід:

 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 

Як показано на зображенні, тип даних стовпця Date був об’єктом, але після використання to_datetime() він був перетворений на об’єкт дати та часу.

приклад 2: Перетворення формату часу за допомогою Pandas

Виняток під час перетворення Об’єкт Time також можна перетворити за допомогою цього методу. Але оскільки в стовпці «Час» дата не вказана, отже Pandas поставить Сьогоднішня дата автоматично в цьому випадку.

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

Вихід:

 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 

Як показано у вихідних даних, дату (2018-07-07), яка є сьогоднішньою, уже додано з об’єктом Date time.