当前位置 : 主页 > 编程语言 > python >

无人售货机一年销售数据分析

来源:互联网 收集:自由互联 发布时间:2022-09-02
五台无人售货机一年的销售数据 一、数据集 unmanvendmach.csv 二、分析结果 1、last_5product.xlsx 2、site 总额 ¥61568.1.png 3、site A 总额 ¥42542.6.png 4、site B 总额 ¥53970.3.png 5、site D 总额 ¥332

五台无人售货机一年的销售数据

一、数据集

unmanvendmach.csv

无人售货机一年销售数据分析_饼状图

二、分析结果

1、last_5product.xlsx

无人售货机一年销售数据分析_数据_02

2、site  总额 ¥61568.1.png

无人售货机一年销售数据分析_饼状图_03

3、site A 总额 ¥42542.6.png

无人售货机一年销售数据分析_ico_04

4、site B 总额 ¥53970.3.png

无人售货机一年销售数据分析_饼状图_05

5、site D 总额 ¥33243.3.png

无人售货机一年销售数据分析_数据_06

6、site E 总额 ¥95655.4.png

无人售货机一年销售数据分析_饼状图_07

7、siteA销售情况.png

无人售货机一年销售数据分析_饼状图_08

8、siteB销售情况.png

无人售货机一年销售数据分析_ico_09

9、siteC销售情况.png

无人售货机一年销售数据分析_ico_10

10、siteD销售情况.png

无人售货机一年销售数据分析_ico_11

11、siteE销售情况.png

无人售货机一年销售数据分析_饼状图_12

12、top_10product.xlsx

无人售货机一年销售数据分析_数据_13

13、五个点的售后总额 ¥286979.7.png

无人售货机一年销售数据分析_饼状图_14

14、月销售情况.png

无人售货机一年销售数据分析_饼状图_15

三、完整分析代码

需要注意读取数据时会有乱码问题,请记得设置endcoding。

"""
* @Author: xiaofang
* @Email: lanxf@stu.hunau.edu.cn
* @software: PyCharm
* @Date: Create in 15:29 2022/7/15
* @Description: 可视化分析无人售货机一年的销售数据
"""
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator

plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文乱码


def plt_pie(title, data, labels):
# 用于后面显示并保存饼状图
"""
:param title: 图名称
:param data: 展示的数据
:param labels: 标签数据
"""
plt.title(title)
plt.pie(data, autopct='%.2f%%', labels=labels) # autopct 格式化输出百分比
plt.savefig("./result/" + title + ".png") # !!!保存结果要在show()之前,不然保存结果是白图
plt.show()


def plt_plot(retail_data_X, X):
"""
:param retail_data_X: 对各个售货点的分组
:param X: 售货点 用于命名
"""
retail_data_X_permonth = retail_data_X.groupby(by='month')['pro_name'].count()
plt.plot(retail_data_X_permonth)
title = "site" + str(X) + "销售情况"
plt.title(title)
plt.xlabel("月") # 设置坐标名称
plt.ylabel("销售额") # 设置坐标名称
plt.gca().xaxis.set_major_locator(MultipleLocator(1)) # 把X轴的刻度设置为1
plt.savefig("./result/" + title + ".png")
plt.show()


retail_data = pd.read_csv(r'.\data\unmanvendmach.csv', engine='python', encoding='gbk') # 输出乱码,encoding='gbk'
pd.set_option('display.unicode.east_asian_width', True) # 解决数据输出时列名不对齐的问题

# 订单号 设备ID 应付金额 实际金额 商品 支付时间 地点 状态 提现 ---- 重命名各列
retail_data.columns = ['ord_num', 'Dev_num', 'pri', 'act_price', 'pro_name', 'ord_time', 'site', 'status', 'with_dep']

# 按site进行分类统计(ABCDE)
site_data = retail_data.groupby(by='site').act_price.sum()
plt_pie("五个点的售后总额 ¥" + str(retail_data.act_price.sum()), site_data,
['A ¥' + str(round(site_data[0], 2)),
'B ¥' + str(round(site_data[1], 2)),
'C ¥' + str(round(site_data[2], 2)),
'D ¥' + str(round(site_data[3], 2)),
'E ¥' + str(round(site_data[4], 2))])

# 时间格式化
retail_data['month'] = pd.to_datetime(retail_data['ord_time'], format='%Y/%m/%d %H:%M:%S').dt.month
# 查看销量与月份之间的关系
retail_data_month = retail_data.groupby(by='month')
y = retail_data_month['pro_name'].count()
plt.title("月销售情况")

x = list(range(1, 13))

plt.xticks(x, x)
plt.bar(x, y.values)
plt.savefig("./result/月销售情况.png")
plt.show()

# 销量前10名(建议上架数量增加)
top_10product = retail_data['pro_name'].value_counts().sort_values(ascending=False)
top_10product.to_excel("./result/top_10product.xlsx")

# 销量小于5的商品(建议下架)
total_summary = retail_data['pro_name'].value_counts().sort_values(ascending=False)
last_5product = total_summary[total_summary <= 5]
last_5product.to_excel("./result/last_5product.xlsx")

# 对各个售货点的分组
retail_data_A = retail_data.loc[retail_data['site'] == 'A']
retail_data_B = retail_data.loc[retail_data['site'] == 'B']
retail_data_C = retail_data.loc[retail_data['site'] == 'C']
retail_data_D = retail_data.loc[retail_data['site'] == 'D']
retail_data_E = retail_data.loc[retail_data['site'] == 'E']

# 输出site A的销售情况
plt_plot(retail_data_A, "A") # (折线图)
# retail_data_A_permonth = retail_data_A.groupby(by='month')['pro_name'].count() # 饼图
# plt_pie("site A 总额 ¥" + str(round(site_data[0], 2)), retail_data_A_permonth, retail_data_A_permonth.values)

# # 输出site B的销售情况
plt_plot(retail_data_B, "B")
# # 输出site C的销售情况
plt_plot(retail_data_C, "C")
# # 输出site D的销售情况
plt_plot(retail_data_D, "D")
# # 输出site E的销售情况
plt_plot(retail_data_E, "E")


上一篇:产品质量数据统计
下一篇:没有了
网友评论