Pandas: как преобразовать эпоху в дату/время
Вы можете использовать следующий базовый синтаксис для преобразования времени в узнаваемую дату/время в пандах:
df[' date_column '] = pd. to_datetime (df[' date_column '], unit=' s ')
Например, этот синтаксис преобразует время эпохи 1655439422 в дату и время панды 2022-06-17 04:17:02 .
Этот формат более узнаваем как дата и время, а не как длинная строка чисел.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: преобразовать эпоху в дату и время в Pandas
Предположим, у нас есть следующий Dataframe 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
В настоящее время значения столбца даты форматируются в эпоху эпох.
Чтобы преобразовать время эпох в формат даты и времени панд, мы можем использовать следующий синтаксис:
#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
Обратите внимание, что значения в столбце даты теперь представляют собой распознаваемые даты и время.
Обратите внимание, что в большинстве случаев время хранится в секундах с 01.01.1970.
Используя аргумент unit= в функции to_datetime() , мы явно указываем pandas преобразовать эпоху в дату и время, вычислив количество секунд, прошедших с 01.01.1970.
Примечание . Полную документацию по функции pandas to_datetime() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как преобразовать временную метку в дату/время в Pandas
Как преобразовать DateTime в дату в Pandas
Как преобразовать DateTime в строку в Pandas