利用jupyter notebook用数据库或excel文件保存某公司的6种产品的日常销售数据,统计不同产品在2021和2022年的累计销售额,利用哑铃图进行展示,画布上方居中有本人学号姓名等信息。
时间: 2024-05-14 08:17:28 浏览: 74
首先,需要安装必要的库,如pandas和matplotlib。可以打开jupyter notebook,在终端输入以下命令进行安装:
```
!pip install pandas matplotlib
```
接着,可以加载数据文件,以下示例代码假设数据文件名为“sales.xlsx”,并且包含6个工作表,每个工作表对应一种产品的销售数据。可以使用pandas的read_excel方法读取数据:
``` python
import pandas as pd
# 读取数据
data = pd.read_excel('sales.xlsx', sheet_name=None)
# 查看数据
for name, df in data.items():
print(name)
print(df.head())
```
根据题目要求,需要统计不同产品在2021和2022年的累计销售额,可以使用groupby方法对产品和年份进行分组,然后使用sum方法计算销售额:
``` python
# 统计销售额
sales = {}
for name, df in data.items():
# 对年份和产品进行分组,计算销售额
grouped = df.groupby(['年份', '产品名称'])
sales[name] = grouped['销售额'].sum()
# 查看销售额
for name, s in sales.items():
print(name)
print(s)
```
最后,可以使用matplotlib绘制哑铃图。以下示例代码假设学号为“123456”,姓名为“张三”。
``` python
import matplotlib.pyplot as plt
# 设置画布大小和字体
plt.figure(figsize=(8, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']
# 绘制哑铃图
for name, s in sales.items():
# 获取2021和2022年的销售额
sales_2021 = s.loc[(2021, slice(None))]
sales_2022 = s.loc[(2022, slice(None))]
# 计算销售额差
diff = sales_2022 - sales_2021
# 绘制哑铃图
plt.plot([sales_2021.values[0], sales_2022.values[0]], [name]*2, 'o-', color='gray')
plt.plot(diff, name, 'o', color='red')
# 添加标题和标签
plt.title('不同产品在2021和2022年的累计销售额')
plt.xlabel('销售额')
plt.ylabel('产品名称')
# 添加学号姓名等信息
plt.text(0, 1.05, '学号:123456 姓名:张三', transform=plt.gca().transAxes)
# 显示图形
plt.show()
```
以上代码可以根据实际情况进行调整。
阅读全文