Освоение обработки дат в Pandas: подробное руководство с примерами кода

Даты и время являются фундаментальными компонентами анализа данных, и Pandas, популярная библиотека Python, предлагает мощные инструменты для работы с ними. В этой статье мы рассмотрим различные методы в Pandas для обработки дат в нескольких столбцах, попутно предоставляя примеры кода. Независимо от того, являетесь ли вы новичком или опытным аналитиком данных, это подробное руководство улучшит ваши навыки манипулирования датами с помощью Pandas.

  1. Разбор дат.
    Pandas предоставляет функцию to_datetimeдля преобразования строк в объекты datetime. При работе с наборами данных, даты которых распределены по нескольким столбцам, вы можете проанализировать их и объединить в один столбец даты и времени, используя метод pd.to_datetime(). Вот пример:
import pandas as pd
data = {
    'year': [2020, 2021, 2022],
    'month': [1, 2, 3],
    'day': [10, 15, 20]
}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df[['year', 'month', 'day']])
  1. Извлечение компонентов даты.
    Если у вас есть столбец даты и времени, вы можете легко извлечь различные компоненты даты, такие как год, месяц, день, час, минута и секунда, с помощью метода доступа dt. Вот пример:
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day'] = df['date'].dt.day
  1. Арифметика дат:
    Pandas позволяет выполнять арифметические операции непосредственно над столбцами даты и времени. Вы можете добавлять или вычитать временные интервалы, рассчитывать разницу во времени и многое другое. Вот пример:
df['next_day'] = df['date'] + pd.DateOffset(days=1)
df['time_diff'] = df['next_day'] - df['date']
  1. Переборка и группировка.
    Pandas предоставляет удобные методы повторной выборки и группировки данных на основе дат. Вы можете агрегировать данные за разные периоды времени, например ежедневно, ежемесячно или ежегодно. Вот пример:
df = df.resample('M', on='date').sum()
  1. Фильтрация по датам.
    Вы можете фильтровать DataFrame на основе определенных диапазонов дат, используя операторы сравнения. Вот пример:
start_date = pd.to_datetime('2022-01-01')
end_date = pd.to_datetime('2022-12-31')
filtered_df = df[(df['date'] >= start_date) & (df['date'] <= end_date)]

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

Не забывайте использовать возможности встроенных функций Pandas и аксессор dtдля эффективного и гибкого манипулирования датами в ваших проектах анализа данных.