一个老板,他有两家门店,这两家门店的销售数据被统计在一个csv文件中.老板想对数据进行可视化操作,他想得到的信息是:
import pandas as pd
import matplotlib.pyplot as plt
# 读取 CSV 文件
data = pd.read_csv('sales_data.csv', names=['日期', '门店', '销售额'])
# 将日期列转换为日期时间格式
data['日期'] = pd.to_datetime(data['日期'])
# 绘制两家店的销售情况走势
plt.figure(figsize=(12, 6))
for store, color in zip(['门店1', '门店2'], ['blue', 'green']):
store_data = data[data['门店'] == store]
plt.plot(store_data['日期'], store_data['销售额'], color=color, label=store)
plt.title('两家店的销售情况走势')
plt.xlabel('日期')
plt.ylabel('销售额')
plt.legend()
plt.show()
# 计算两家店销售额占总销售额的比例
total_sales = data['销售额'].sum()
store_sales = data.groupby('门店')['销售额'].sum()
store_sales_ratio = store_sales / total_sales
# 绘制两家店销售额占比的饼图
plt.figure(figsize=(6, 6))
plt.pie(store_sales_ratio, labels=store_sales_ratio.index, autopct='%1.1f%%')
plt.title('两家店销售额占总销售额的比例')
plt.show()
# 计算两家店同比销售情况(每个月销售对比)
data['月份'] = data['日期'].dt.month
monthly_sales = data.groupby(['月份', '门店'])['销售额'].sum().unstack()
# 绘制两家店的同比销售情况折线图
plt.figure(figsize=(12, 6))
for store, color in zip(['门店1', '门店2'], ['blue', 'green']):
plt.plot(monthly_sales.index, monthly_sales[store], color=color, label=store)
plt.title('两家店同比销售情况')
plt.xlabel('月份')
plt.ylabel('销售额')
plt.legend()
plt.show()
请确保将上述代码保存在与数据文件(sales_data.csv)相同的目录中,并且已经安装了 Pandas 和 Matplotlib 库。运行代码后,将会生成三张图表:两家店的销售情况走势折线图、两家店销售额占总销售额的比例饼图以及两家店同比销售情况折线图。