Загрузка данных


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 или комментария)