一、设计要求
金牛食品有限公司位于金牛街100号,是一家批发销售软饮料的公司。批发销售软饮料行业市场潜力三大,行业增速不断上升,市场竞争异常激烈。文件wal1.xlsx’中有两个sheet,分别存放2021年销售明细和利润表,读取并分析其中数据,做可视化呈现。要求:
- ①找出销售收入前15的品牌;
- ②按月汇总,求出每月的毛利及毛利率;
- ③通过利润表,分析该公司的盈利结构,
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈
数据如下:
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈
二、可视化展示
通过对销售数据的分组和排序,您得出了销售收入前15的品牌(或商品名称)。这显示了这些品牌在市场上的表现和销售优势。这些信息有助于理解哪些产品更受消费者欢迎,也可能指导库存管理和市场推广策略。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈
通过转置和重命名,整理了利润数据,计算出每月的毛利和毛利率。这些数据展示了公司每月的盈利性表现。毛利和毛利率是评估公司运营效率的重要指标,有助于管理层监控成本控制和定价策略的效果。
通过饼图,展示了公司一年的盈利结构,包括各项费用和收入的比例。这有助于理解公司的财务健康状况,识别成本和收入中的主要组成部分,以及可能的调整点,以改善利润率。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈
三、代码分析
这段代码主要用于处理和可视化销售和利润数据,分别完成三个具体任务。下面详细解释每个部分的功能:
1. 导入模块和设置
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']
- 导入
pandas
库,用于数据处理。 - 导入
matplotlib.pyplot
库,用于数据可视化。 - 设置
matplotlib
的字体参数为SimHei
,以便在图表中显示中文。
2. 读取数据
sales_data = pd.read_excel('cwal1.xlsx', sheet_name='销售明细表') profit_data = pd.read_excel('cwal1.xlsx', sheet_name='利润表')
- 从
cwal1.xlsx
文件中读取两个工作表:销售明细表
和利润表
,分别加载到sales_data
和profit_data
变量中。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈
3. 任务1:销售收入前15的品牌
top_brands.plot(kind='bar', color='skyblue', title='销售收入前15的品牌') # 略...... # 略...... # 略...... plt.xlabel('品牌(商品名称)') plt.ylabel('总销售收入')
- 使用
groupby
按照商品名称
进行分组,然后对收入合计
列进行求和。 - 从结果中选出销售收入最高的前15个品牌。
- 利用条形图显示这15个品牌的销售收入,调整横坐标标签角度以提高可读性。
4. 任务2:每月毛利及毛利率
df = profit_data.T # 略...... # 略...... # 略...... df['毛利'] = df['一、营业收入'] - df[' 减:营业成本'] df['毛利率'] = df['毛利'] / df['一、营业收入'] fig, ax1 = plt.subplots() color = 'tab:red' ax1.set_xlabel('月份') ax2 = ax1.twinx() ax2.plot(df['月份'], df['毛利率'], color=color) ax2.tick_params(axis='y', labelcolor=color) plt.title('每月毛利及毛利率') plt.show()
- 转置利润表,以月份为行,利润表各项为列。
- 重新设置表头并重置索引,确保月份作为一列存在。
- 计算毛利(营业收入减去营业成本)和毛利率。
- 使用柱状图和曲线图在同一图表上显示每月的毛利和毛利率。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈
5. 任务3:年度盈利结构分析
annual_data = df[df['月份'] == '本年合计'] categories = annual_data.columns[2:] # 调整索引以适应具体的列结构 values = annual_data.iloc[0, 2:].values # 获取第一行(即本年合计行),从第三列开始的数据 fig, ax = plt.subplots() ax.pie(values, labels=categories, autopct='%1.1f%%', startangle=90) ax.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. plt.title('金牛食品有限公司2021年盈利结构分析') plt.show()
- 筛选出汇总为"本年合计"的行数据。
- 提取除了
月份
和项目
之外的列名和数据。 - 使用饼图展示金牛食品有限公司2021年的盈利结构,每项盈利的比例显示在图表上。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 饮料销售数据分析 ” 获取。👈👈👈