Форматы дат в Pandas: справочник и примеры

В библиотеке Pandas есть несколько форматов для работы с датами:

  • datetime64: этот формат представляет дату и время с разрешением до наносекунды. Пример использования:
    import pandas as pd
    
    data = {'dates': ['2021-01-01', '2021-02-01', '2021-03-01']}
    df = pd.DataFrame(data)
    df['dates'] = pd.to_datetime(df['dates'])
    
    print(df['dates'])
  • period: этот формат представляет период времени, например, год, месяц или неделю. Пример использования:
    import pandas as pd
    
    data = {'dates': ['2021-01', '2021-02', '2021-03']}
    df = pd.DataFrame(data)
    df['dates'] = pd.to_datetime(df['dates']).dt.to_period('M')
    
    print(df['dates'])
  • timedelta: этот формат позволяет работать с разницей между двумя датами или временем. Пример использования:
    import pandas as pd
    
    start_date = pd.to_datetime('2021-01-01')
    end_date = pd.to_datetime('2021-02-01')
    diff = end_date - start_date
    
    print(diff)

Детальный ответ

Привет студент!

Сегодня я хочу рассказать тебе о форматах дат в библиотеке pandas. Форматы дат являются одной из ключевых особенностей при работе с временными данными. В pandas существует несколько форматов дат, которые могут быть использованы для представления и работы с датами и временем.

1. Форматы дат в pandas

При работе с датами в pandas мы можем использовать следующие форматы:

  • ISO8601 - это стандартный формат даты и времени, который используется во многих сферах;
  • Строковые форматы - можно использовать пользовательские строковые форматы для представления даты;
  • UNIX timestamp - это количество секунд, прошедших с 1 января 1970 года;
  • Эпоха - это количество дней или месяцев, прошедших с определенного момента времени.

2. Примеры использования форматов дат в pandas

Давай посмотрим на несколько примеров использования форматов дат в pandas.

2.1 Формат ISO8601

Формат ISO8601 - это один из самых распространенных способов представления даты и времени. В pandas, мы можем использовать этот формат с помощью метода to_datetime:

import pandas as pd

date_string = '2022-10-31'
date = pd.to_datetime(date_string, format='%Y-%m-%d')
print(date)

Результат:

2022-10-31 00:00:00

Мы передаем строковое значение даты и времени '2022-10-31' и указываем формат '%Y-%m-%d'. Метод to_datetime преобразует строку в объект datetime.

2.2 Строковые форматы

Если вам необходимо использовать пользовательский формат даты, вы можете передать его как аргумент в метод to_datetime:

import pandas as pd

date_string = '31-10-2022'
date = pd.to_datetime(date_string, format='%d-%m-%Y')
print(date)

Результат:

2022-10-31 00:00:00

В данном примере мы используем формат даты, где день предшествует месяцу и году. Мы передаем строковое значение даты '31-10-2022' и указываем формат '%d-%m-%Y'.

2.3 UNIX timestamp

UNIX timestamp представляет собой количество секунд, прошедших с 1 января 1970 года. Для преобразования UNIX timestamp в объект datetime используйте функцию to_datetime:

import pandas as pd

timestamp = 1635649200
date = pd.to_datetime(timestamp, unit='s')
print(date)

Результат:

2021-10-31 03:00:00

Мы передаем UNIX timestamp 1635649200 и указываем, что время измеряется в секундах с помощью аргумента unit='s'.

2.4 Эпоха

Когда мы говорим о "эпохе", мы обычно имеем в виду количество дней или месяцев, прошедших с определенного момента времени. В pandas, мы можем использовать эпоху с помощью метода to_datetime:

Пример 1 - преобразование количества дней:

import pandas as pd

days_since_epoch = 18900
date = pd.to_datetime(days_since_epoch, origin='unix', unit='D')
print(date)

Результат:

2021-10-31 00:00:00

Мы передаем значение 18900 (количество дней) и указываем, что эпоха начинается с 'unix' с помощью аргумента origin='unix'.

Пример 2 - преобразование количества месяцев:

import pandas as pd

months_since_epoch = 620
date = pd.to_datetime(months_since_epoch, origin='unix', unit='M')
print(date)

Результат:

2021-10-31 00:00:00

Мы передаем значение 620 (количество месяцев) и указываем, что эпоха начинается с 'unix' с помощью аргумента origin='unix'.

3. Вывод

В этой статье мы рассмотрели различные форматы дат, которые можно использовать в библиотеке pandas. Мы узнали, что форматы дат могут быть представлены в виде ISO8601, строковых форматов, UNIX timestamp и эпохи. Каждый из этих форматов имеет свои особенности и может использоваться в зависимости от требований задачи. Надеюсь, эта информация будет полезной для тебя в работе с временными данными в pandas.

Удачи в изучении!

Видео по теме

Урок 5. Обработка и анализ данных на Python. Библиотека Pandas. Дата и время в Pandas

Раcчет стажа сотрудников Pandas Python формат дат

Уроки Python / Модуль datetime

Похожие статьи:

Как использовать метод quantile в библиотеке pandas

Форматы дат в Pandas: справочник и примеры