А что на ужин?
Каждый из нас хоть раз сидя вечером дома думал о том, что бы ему поесть, и зайдя в приложение любой доставки думал: "Это не хочу...И это не то...Может это?...Не, не хочу((("
Мой проект "А что на ужин?" поможет с этой проблемой, проанализировав заказы из различны ресторанов самых разных кухонь мира.
Инструменты
Для анализа данных я использовала:
- pandas для работы с данными
- matplotlib.pyplot и seaborn для построения графиков
Материал для анализа(датасет) был взят с сайта Kaggle
Стиль и визуализация
Для визуализации своего анализа я использовала готовый набор оттенков "Set2", так как он яркий и соответствует разнообразию кухонь мира, с которыми я работала.
Формат графиков выбраны так, чтобы данные на них были понятны с первого взгляда.
Загрузка данных и анализ
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
from google.colab import files
uploaded = files.upload()
Столбчатые диаграммы
Для определения средней стоимости заказа по кухням была использована такая диаграмма для демонстрации разницы в цене.
sns.barplot(x=avg_cost.index, y=avg_cost.values, palette="Set2") plt.xticks(rotation=45) plt.title("Средняя стоимость заказа по типу кухни") plt.ylabel("Средняя стоимость ($)") plt.show()
Благодаря такой инфографике мы знаем, что самый большой средний чек у Французской кухни, а вот самый маленький - у Вьетнамской.
Точечный график
Для демонстрации топ-10 ресторанов, откуда заказывают люди, был выбрана точечный график.
top10_restaurants = df['restaurant_name'].value_counts().head(10).reset_index() top10_restaurants.columns = ['restaurant_name', 'order_count']
plt.figure(figsize=(12,6)) sns.scatterplot(x='restaurant_name', y='order_count', size='order_count', sizes=(100, 1000), data=top10_restaurants, hue='order_count', palette='viridis', legend=False) plt.title("Топ-10 ресторанов по количеству заказов") plt.xlabel("Ресторан") plt.ylabel("Количество заказов") plt.xticks(rotation=45) plt.show()
Теперь мы знаем, что в бургерной ShakeShack точно вкусно, ведь более 200 человек сделали заказ именно там.
Круговая диаграмма
Чтобы разобраться в иерархии кухонь мира я использую круговую диаграмму, так как на ней видно не только популярность кухонь, но и соотношение заказов этих самых кухонь.
cuisine_counts = df['cuisine_type'].value_counts()
plt.figure(figsize=(8,8)) plt.pie(cuisine_counts, labels=cuisine_counts.index, startangle=140, colors=sns.color_palette("Set2")) plt.title("Распределение заказов по типу кухни") plt.show()
Америка, Япония и Италия - вот они победители!
Тепловая карта
Для анализа времени, ушедшего на доставку у разных ресторанов я выбрала тепловую карту, чтобы с первого взгляда понять, где было быстро, а где не очень.
plt.figure(figsize=(12,6)) sns.heatmap(heatmap_data, annot=True, fmt="d", cmap="RdYlGn_r") plt.title("Количество заказов по ресторанам и времени доставки") plt.xlabel("Время доставки (мин)") plt.ylabel("Ресторан") plt.show()
Благодаря ассоциативным красному и зеленому мы сразу понимаем, какой ресторан не стоит выбирать.
Заключение
Анализ данных о заказах из ресторанов и визуализация ключевых показателей с помощью графиков и тепловых карт позволили структурировать информацию о поведении клиентов, популярности кухонь и особенностях работы заведений.
В результате исследования стало ясно, какие рестораны наиболее востребованы, как распределяются заказы по ресторанам и какое влияние на общую эффективность доставки оказывают разные показатели. Анализ таких данных мог бы помочь в оптимизации процессов, улучшения планирования и принятия решений в ресторанном бизнесе.




