伊犁哈萨克自治州网站建设_网站建设公司_Figma_seo优化
2026/1/16 14:35:15 网站建设 项目流程

为你完整设计一个餐厅菜品利润分析系统,结合大数据与智能管理课程的思想,从场景到代码、从模块到文档,全部覆盖。

1. 实际应用场景 & 痛点引入

场景

你是某餐厅的管理者或数据分析师,手头有菜品销售数据(菜品名称、售价、销量)。你想知道:

- 哪些菜品利润最高?

- 哪些菜品虽然销量高但利润低?

- 如何优化菜单结构,提升整体盈利能力?

痛点

- 人工计算每道菜的利润非常繁琐,尤其当菜品数量多时。

- 成本率固定为 40%,但 Excel 公式容易出错。

- 缺乏自动化分析工具,无法快速定位高利润菜品。

2. 核心逻辑讲解

1. 数据获取

- 输入菜品数据(CSV/Excel),字段包括:

"dish_name"(菜品名称)、

"price"(售价)、

"sales"(销量)。

2. 数据清洗

- 确保价格和销量为数值类型,去除无效数据。

3. 利润计算

- 成本 = 价格 × 40%

- 单品利润 = (价格 - 成本) × 销量 = 价格 × 60% × 销量

4. 排序与筛选

- 按单品利润从高到低排序。

- 输出利润最高的菜品。

5. 输出结果

- 打印利润最高的菜品信息。

- 可选:保存结果到 CSV。

3. 代码实现(模块化 + 注释)

目录结构

restaurant_profit_analysis/

├── data/

│ └── dishes.csv

├── output/

├── analysis.py

├── utils.py

├── README.md

└── requirements.txt

"requirements.txt"

pandas>=1.5.0

"utils.py"(工具函数)

import pandas as pd

def load_dish_data(file_path):

"""

加载菜品 CSV 文件

:param file_path: CSV 文件路径

:return: DataFrame

"""

df = pd.read_csv(file_path)

# 确保价格和销量为数值类型

df['price'] = pd.to_numeric(df['price'], errors='coerce')

df['sales'] = pd.to_numeric(df['sales'], errors='coerce')

return df

def clean_data(df):

"""

清洗数据:删除价格或销量为空的行

:param df: DataFrame

:return: 清洗后的 DataFrame

"""

return df.dropna(subset=['price', 'sales'])

"analysis.py"(主分析逻辑)

import pandas as pd

from utils import load_dish_data, clean_data

def analyze_profit(file_path):

# 1. 加载数据

df = load_dish_data(file_path)

df = clean_data(df)

# 2. 计算单品利润(成本率 40%)

cost_rate = 0.4

profit_rate = 1 - cost_rate # 利润率 60%

df['profit'] = df['price'] * profit_rate * df['sales']

# 3. 按利润从高到低排序

df_sorted = df.sort_values(by='profit', ascending=False)

# 4. 输出利润最高的菜品

top_dish = df_sorted.iloc[0]

print("利润最高的菜品:")

print(f"名称: {top_dish['dish_name']}")

print(f"售价: {top_dish['price']} 元")

print(f"销量: {top_dish['sales']} 份")

print(f"利润: {top_dish['profit']:.2f} 元")

# 5. 保存所有菜品利润排名

df_sorted.to_csv('../output/profit_ranking.csv', index=False)

print("\n利润排名已保存到 output/profit_ranking.csv")

if __name__ == "__main__":

analyze_profit('../data/dishes.csv')

4.

"README.md"

# 餐厅菜品利润分析系统

## 功能

- 导入菜品数据(名称、价格、销量)

- 计算单品利润(成本率 40%)

- 输出利润最高的菜品

- 保存利润排名到 CSV

## 环境依赖

- Python 3.8+

- pandas

## 安装

bash

pip install -r requirements.txt

## 使用

1. 将菜品数据放入 `data/dishes.csv`,格式如下:

dish_name,price,sales

宫保鸡丁,38,120

鱼香肉丝,32,150

清蒸鲈鱼,68,80

...

2. 运行分析脚本:

bash

python analysis.py

3. 查看终端输出的利润最高菜品,并在 `output/` 目录查看利润排名 CSV 文件。

## 作者

全栈开发工程师 & 技术布道者

5. 核心知识点卡片

知识点 说明

Pandas 数据加载

"pd.read_csv()" 读取 CSV,

"to_numeric" 转换类型

数据清洗

"dropna()" 删除缺失值,保证分析准确性

利润计算公式

"profit = price * (1 - cost_rate) * sales"

排序

"sort_values()" 按利润降序排列

数据保存

"to_csv()" 将结果保存为 CSV

模块化设计 工具函数与主逻辑分离,便于维护

6. 总结

本项目展示了如何用 Python 快速构建一个餐厅菜品利润分析工具,结合了:

- 大数据处理思想(数据清洗、特征计算)

- 智能管理应用(利润分析与决策支持)

- 全栈开发实践(模块化、文档化、可扩展性)

通过这个小项目,你可以:

- 掌握 Pandas 数据处理与分析的核心方法

- 学会定义和计算业务指标(利润)

- 理解如何将原始数据转化为可行动的洞察

- 为后续接入数据库、Web 前端、可视化大屏打下基础

如果你需要,我可以帮你生成一个示例 CSV 菜品数据文件,这样你可以直接运行代码看到效果。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询