Найти в Дзене
Аналитика данных

Временные периоды dt.to_period

Аналитика данных с использованием временных периодов dt.to_period. Например, есть данные по продажам. Среди данных: дата продажи, и сумма продажи. Необходимо разбить продажи по периодам. Чтобы определить к какому периоду относится та или иная дата используем функцию to_period. Пишем python-код: # Импорт пандаса, куда же без него
import pandas as pd # Исходный датафрейм
df = pd.DataFrame({
'Было': ['2023-01-10 10:12:05', '2023-02-17 12:52:06', '2024-03-13 20:42:03', '2024-04-15 21:11:15', '2025-05-09 13:14:04', '2025-06-28 17:38:30',
'2026-07-10 22:22:15', '2026-08-14 23:12:05', '2027-09-17 15:12:05', '2027-10-16 16:12:05', '2028-11-18 19:12:05', '2028-12-31 18:12:05']}) # Перевод строк в дату
df['Было'] = pd.to_datetime(df['Было'], format='%Y-%m-%d %H:%M:%S', errors='coerce') # Проверяем что получилось
df.info() # Разбиваем наши данные по периодам
▪ Годовые периоды
df['Стало'] = df['Было'].dt.to_period('Y')
display(df) ▪ Квартальные периоды
df['Стало'] = df['Было'].dt.to_peri

Аналитика данных с использованием временных периодов dt.to_period. Например, есть данные по продажам. Среди данных: дата продажи, и сумма продажи. Необходимо разбить продажи по периодам. Чтобы определить к какому периоду относится та или иная дата используем функцию to_period. Пишем python-код:

# Импорт пандаса, куда же без него
import pandas as pd

# Исходный датафрейм
df = pd.DataFrame({
'Было': ['2023-01-10 10:12:05', '2023-02-17 12:52:06', '2024-03-13 20:42:03', '2024-04-15 21:11:15', '2025-05-09 13:14:04', '2025-06-28 17:38:30',
'2026-07-10 22:22:15', '2026-08-14 23:12:05', '2027-09-17 15:12:05', '2027-10-16 16:12:05', '2028-11-18 19:12:05', '2028-12-31 18:12:05']})

# Перевод строк в дату
df['Было'] = pd.to_datetime(df['Было'], format='%Y-%m-%d %H:%M:%S', errors='coerce')

# Проверяем что получилось
df.info()

-2

# Разбиваем наши данные по периодам
▪ Годовые периоды
df['Стало'] = df['Было'].dt.to_period('Y')
display(df)

-3

▪ Квартальные периоды
df['Стало'] = df['Было'].dt.to_period('Q')
display(df)

-4

▪ Месячные периоды
df['Стало'] = df['Было'].dt.to_period('M')
display(df)

-5

▪ Недельные периоды
df['Стало'] = df['Было'].dt.to_period('W')
display(df)

-6

▪ Дневные периоды
df['Стало'] = df['Было'].dt.to_period('D')
display(df)

-7

▪ Часовые периоды
df['Стало'] = df['Было'].dt.to_period('h')
display(df)

-8

Теперь можно использовать посчитанные данные для группировки например.
Enjoy :)