Python驱动的餐饮企业智能数据分析:从数据清洗到可视化决策全流程实战

发布于:2025-02-27 ⋅ 阅读:(16) ⋅ 点赞:(0)

Python驱动的餐饮企业智能数据分析:从数据清洗到可视化决策全流程实战

引言

在数字化浪潮下,餐饮企业正通过数据驱动决策提升竞争力。Python凭借其强大的数据处理能力,成为餐饮数据分析的首选工具。本文将通过一个完整的实战案例,展示如何利用Python完成餐饮企业从数据清洗、指标计算到可视化分析的全流程,并提供可直接运行的代码及模拟数据集。


一、案例背景

1.1 需求分析

某连锁餐饮企业希望通过数据分析优化经营策略,具体目标包括:

  • 区域门店表现评估:识别高/低效门店,优化资源配置
  • 菜品结构优化:分析热门菜品与滞销菜品,调整菜单
  • 价格策略验证:评估折扣活动对销售额的影响
  • 客户消费行为洞察:通过客单价与消费频次分析客户价值

1.2 数据准备

我们将生成包含以下字段的模拟数据集:

  • 订单ID:唯一标识
  • 门店ID:门店编码
  • 菜品ID:菜品编码
  • 销售时间:交易发生时间
  • 销售金额:订单总金额
  • 折扣金额:订单折扣金额
  • 客户ID:客户唯一标识
1.2.1 模拟数据生成代码
from datetime import datetime, timedelta
import pandas as pd
import numpy as np

# 生成门店数据
num_stores = 100
stores = pd.DataFrame({
   
    'store_id': range(1, num_stores + 1),
    'region': np.random.choice(['华北', '华东', '华南', '西南'], num_stores)
})

# 生成菜品数据
num_dishes = 500
dishes = pd.DataFrame({
   
    'dish_id': range(1, num_dishes + 1),
    'category': np.random.choice(['主食', '小吃', '饮品', '甜点'], num_dishes),
    'price': np.random.uniform(15, 150, num_dishes)
})

# 生成客户数据
num_customers = 5000
customers = pd.DataFrame({
   
    'customer_id': range(1, num_customers + 1),
    'gender': np.random.choice(['男', '女'], num_customers),
    'age_group': np.random.choice(['18-25', '26-35', '36-45', '46+'], num_customers)
})

# 生成订单数据
num_orders = 100000
start_date = datetime.now() - timedelta(days=365)  # 一年前的日期
end_date = datetime.now()  # 当前日期
date_range = pd.date_range(start=start_date, end=end_date, freq='D')
orders = pd.DataFrame(