Добро пожаловать на 11-й день нашего путешествия «Python для науки о данных: 100 дней до мастерства»! Попробовав очистку, визуализацию и агрегирование данных, пришло время сосредоточиться на одном из основополагающих аспектов анализа данных — операциях с датой и временем.

Типы данных «Дата» и «Время» необходимы для анализа временных рядов, анализа финансовых данных, журналов и многого другого. Модуль Python datetime, дополненный возможностями Pandas, позволяет нам эффективно обрабатывать и манипулировать датами и временем.

Понимание datetime в Python

Встроенный в Python модуль datetime предоставляет нам типы datetime, date и time.

# Import datetime module
from datetime import datetime
# Current date and time
now = datetime.now()
print(now)
# Extracting date, time, year, month, day, etc.
print(now.date(), now.year, now.month)

Дельты времени

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

from datetime import timedelta
# Adding 10 days to current date
new_date = now + timedelta(days=10)
print(new_date)

Панды и дата и время

Pandas упрощает работу с массивами даты и времени. Наиболее фундаментальным является метод to_datetime, который преобразует различные форматы даты и времени в Pandas Timestamp.

# Importing pandas
import pandas as pd
# Creating a date range
date_rng = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')
print(date_rng)

Временные ряды с пандами

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

# Creating a simple time series DataFrame
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0, 100, size=(len(date_rng)))
# Setting the date as the index
df.set_index('date', inplace=True)
# Resampling data to a monthly frequency
df_monthly = df.resample('M').mean()

Сегодняшние задачи

  1. Ознакомьтесь с модулем Python datetime, создающим даты и время и управляя ими.
  2. Понимать и использовать timedelta для выполнения операций с датами.
  3. Используйте Pandas для работы с массивами даты и времени и выполнения базового анализа временных рядов.
  4. Передискретизируйте данные временных рядов с разными частотами и получайте ценные сведения.

Подведение итогов

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

Завтра мы углубимся в другую важную тему. А пока удачного кодирования и анализа!