Pandas: як перетворити епоху на дату/час
Ви можете використовувати наступний базовий синтаксис, щоб перетворити час на розпізнавану дату/час у pandas:
df[' date_column '] = pd. to_datetime (df[' date_column '], unit=' s ')
Наприклад, цей синтаксис перетворить час епохи 1655439422 на дату та час pandas 2022-06-17 04:17:02 .
Цей формат краще розпізнається як дата й час, а не як довгий рядок чисел.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: перетворити епоху на дату й час у Pandas
Припустімо, що у нас є такий фрейм даних pandas, який містить інформацію про загальний обсяг продажів певних продуктів у певні дати та час:
import pandas as pd #createDataFrame df = pd. DataFrame ({' date ': ['1655439422', '1655638422', '1664799422', '1668439411', '1669939422', '1669993948'], ' sales ': [120, 150, 224, 290, 340, 184]}) #view DataFrame print (df) dirty dates 0 1655439422 120 1 1655638422 150 2 1664799422 224 3 1668439411 290 4 1669939422 340 5 1669993948 184
В даний час значення стовпця дати відформатовано в часі епохи.
Щоб перетворити час епохи у формат дати та часу pandas, ми можемо використати такий синтаксис:
#convert values in date column from epoch to datetime df[' date '] = pd. to_datetime (df[' date '], unit=' s ') #view updated DataFrame print (df) dirty date 0 2022-06-17 04:17:02 120 1 2022-06-19 11:33:42 150 2 2022-10-03 12:17:02 224 3 2022-11-14 15:23:31 290 4 2022-12-02 00:03:42 340 5 2022-12-02 15:12:28 184
Зверніть увагу, що значення в стовпці дати тепер є розпізнаваними датою та часом.
Зауважте, що більшість часу зберігається як кількість секунд з 1/1/1970.
Використовуючи аргумент unit=’s у функції to_datetime() , ми явно повідомляємо pandas перетворити епоху на дату й час, обчислюючи кількість секунд з 1/1/1970.
Примітка . Ви можете знайти повну документацію функції pandas to_datetime() тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:
Як перетворити позначку часу в дату/час у Pandas
Як перетворити DateTime на дату в Pandas
Як перетворити DateTime на рядок у Pandas