import pandas as pd
import matplotlib.pyplot as plt
# 1. Реальные (заполненные вручную) данные о расходах
data = {
'date': [
'2026-04-10', '2026-04-11', '2026-04-12', '2026-04-13', '2026-04-14',
'2026-04-15', '2026-04-16', '2026-04-17', '2026-04-18', '2026-04-19'
],
'category': [
'еда', 'транспорт', 'еда', 'развлечения', 'связь',
'еда', 'транспорт', 'развлечения', 'еда', 'прочее'
],
'amount_rub': [
450, 120, 300, 800, 500,
250, 150, 600, 400, 200
],
'payment': [
'карта', 'карта', 'наличные', 'карта', 'карта',
'наличные', 'карта', 'карта', 'наличные', 'карта'
]
}
# 2. Создание DataFrame
df = pd.DataFrame(data)
# 3. Преобразование даты и установка индекса
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
# 4. Новый столбец (расход в копейках)
df['amount_kopecks'] = df['amount_rub'] * 100
# 5. Группировка по категориям
grouped = df.groupby('category').agg(
total_spent=('amount_rub', 'sum'),
avg_spent=('amount_rub', 'mean'),
max_spent=('amount_rub', 'max'),
median_spent=('amount_rub', 'median')
)
print("Группировка по категориям:\n", grouped)
# 6. Корреляция (сумма и сумма в копейках)
corr = df['amount_rub'].corr(df['amount_kopecks'])
print("\nКорреляция:", corr)
# 7. График (гистограмма расходов)
df['amount_rub'].plot(kind='hist', bins=5, title='Распределение расходов')
plt.xlabel('Сумма (руб)')
plt.show()
# 8. Вывод (для Markdown или комментария)