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")
print(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.ylabel('Количество операций')
plt.show()
В представленных данных о личных расходах за последние дни видно, что основная часть трат приходится на категорию «еда».
Также заметные расходы наблюдаются в категориях «развлечения» и «транспорт», но они встречаются реже.
Наибольшие разовые траты связаны с развлечениями, что повышает средний чек в этой категории.
Категория «транспорт» имеет наиболее стабильные и небольшие расходы.
Корреляция между суммой в рублях и в копейках равна 1, так как второй столбец является прямым преобразованием первого.
Гистограмма показывает, что большинство расходов находятся в диапазоне до 500 рублей.
Это говорит о том, что повседневные траты в основном небольшие и регулярные.
Полученные данные можно использовать для анализа бюджета и планирования расходов, чтобы уменьшить необязательные траты.