目录

一、数据清洗

1.导入模块、数据

2.信息

二、分析过程

1.获取2011年销售额最高的前十的数据的客户ID

2.分析每年销售额的增长率

3.各个地区分店的销售额

4.新老客户数

三、使用工具、数据源


一、数据清洗

1.导入模块、数据

import pandas as pddata=pd.read_csv('超市数据表整理后.CSV')
data
  • 这里用到的数据在我的资源里面,读者自行下载使用。
  • 注意数据文件需要放在你写代码的文件同一级

2.查看数据内容、信息

data.info()
# 查看数据类型、数量
data.describe()
# 查看数据总体情况,比如四分位、平均值等
data.isnull().any()
# 查看是否有空值

二、分析过程

1.获取2011年销售额最高的前十的数据的客户ID

  • 将时间一列转换成时间对象,方便后面分析时应用
# 将日期转换成时间对象
data['OrderDate']=pd.to_datetime(data['OrderDate'])
data.info() # 这里查看数据类型可以看到OrderDate列变成了时间类型datetime64
  • 生成年份列,用以获取2011年的数据
data['year']=data['OrderDate'].dt.year
data
  • 筛选出2011年的数据,并查看
data_11=data[data['year']==2011]
data_11
  • 进行排序,并获取排名前十的数据
data_11_sales10=data_11.sort_values(by='Sales',ascending=False)[:10]
data_11_sales10

2.分析每年销售额的增长率

  • 将每年的销售额先计算得到
sales_year_2011=data[data['year']==2011]['Sales'].sum()
sales_year_2012=data[data['year']==2012]['Sales'].sum()
sales_year_2013=data[data['year']==2013]['Sales'].sum()
sales_year_2014=data[data['year']==2014]['Sales'].sum()
print(sales_year_2011,'\n',sales_year_2012,'\n',sales_year_2013,'\n',sales_year_2014)
  • 计算增长率,并转换成百分数形式
sales_rate_2012=sales_year_2012/sales_year_2011-1
sales_rate_2013=sales_year_2013/sales_year_2012-1
sales_rate_2014=sales_year_2014/sales_year_2013-1
# 转换成百分数
sales_rate_2012='%.2f%%'%(sales_rate_2012*100)
sales_rate_2013='%.2f%%'%(sales_rate_2013*100)
sales_rate_2014='%.2f%%'%(sales_rate_2014*100)
  • 生成增长率列表
df_sales_rate=pd.DataFrame([0,sales_rate_2012,sales_rate_2013,sales_rate_2014],index=['sales_rate_2011','sales_rate_2012','sales_rate_2013','sales_rate_2014'],columns=['percent'])
print(df_sales_rate)
  • 绘制增长率与销售额数据
import matplotlib.pyplot as pltfig=plt.figure()
ax1=fig.add_subplot(1,1,1)
ax2=ax1.twinx() # 共享x轴
ax1.bar([2011,2012,2013,2014],[sales_year_2011,sales_year_2012,sales_year_2013,sales_year_2014])
ax2.plot([2011,2012,2013,2014],[0,sales_rate_2012,sales_rate_2013,sales_rate_2014],color='r',marker='*')
ax1.set_xlabel('年份')
ax1.set_ylabel('销售额')
ax2.set_ylabel('增长率')
plt.title('销售额与增长率')

3.各个地区分店的销售额

首先按照Market字段进行分组数据,查看一下整体不同地区分店2011-2014总销售额的占比

  • 设置绘图参数
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['figure.dpi']=200data['Market']
  • 绘制饼图
# 饼图\
market_sales=data.groupby(by='Market')['Sales'].sum()# market_sales
# plt.figure(figsize=(3,3))
plt.pie(market_sales,labels=market_sales.index,autopct='%.1f%%')

为了能更清晰的了解各地区店铺的经营状况,对各地区每一年的销售额进行分析

  • 按照地区、年份分组
market_year=data.groupby(by=['Market','year'],as_index=False)['Sales'].sum()
print(market_year)
  • 生成透视表并绘图
market_year_pivot=pd.pivot_table(market_year,index=['Market'],columns=['year'],values='Sales'
)
print(market_year_pivot)
market_year_pivot.plot(kind='bar',title='各地区每年的销售额情况')

销售淡旺季分析:根据超市的整体销售额情况和不同类型产品在不同地区的销售情况,在对每年每月的销售额进行分析

  • 根据种类、地区进行分组
category_market=data.groupby(by=['Category','Market'],as_index=False)['Sales'].sum()
category_market
  • 生成数据透视表并绘图
category_market_pivot=pd.pivot_table(category_market,index='Market',columns='Category',values='Sales'
)
print(category_market_pivot)
category_market_pivot.plot(kind='bar',title='不同地区不同种类销售情况')
  • 生成月份列,并对年份、月份进行分组
data['month']=data['OrderDate'].dt.monthyear_month=data.groupby(by=['year','month'],as_index=False)['Sales'].sum()
year_month
  • 生成数据透视表并绘图
year_month_pivot=pd.pivot_table(year_month,index='month',columns='year',values='Sales')
plt.figure(figsize=(2,2))
year_month_pivot.plot(title='销售淡旺季折线图')

4.新老客户数

分析新老用户的意义就在于:通过分析老用户,来确定企业的基础是否稳固,是否存在被淘汰的危机;通过分析新用户,来衡量企业的发展是否顺利,是否有更大的扩展空间。 
根据该企业的新老客户分布,从而对超市客户维系健康状态进行了解。在分析之前需要定义一下新客户,将只要在该超市消费过客户就定义为老客户,反之为新客户。由于 2011年的数据为起始数据,根据定义大部分客户皆为新用户,其数据没有分析价值。

  • 删除重复数据,并根据年份、月份分组
customer=data.drop_duplicates(subset='CustomerID')
# .groupby(by=['year','month']).count()
customer_new=customer.groupby(by=['year','month'],as_index=False)['CustomerID'].count()customer_new
  • 生成数据透视表,并绘制图形
customer_new_pivot=pd.pivot_table(customer_new,index='month',columns='year',values='CustomerID')
print(customer_new_pivot)
customer_new_pivot.plot(title='2011-2014每月新客户数量')

三、使用工具、数据源

正常分析流程需要根据图形撰写分析报告,这篇文章我主要讲解代码,所以不多赘述。

  1. 工具:anaconda软件中的jupyter Notebook,使用pycharm软件也可以,只是数据分析绘图这些,使用jupyter绘图更方便。
  2. 数据源在我的资源里,大家需要可以自行下载。

有什么问题欢迎大家来问哦!

python电商案例分析项目相关推荐

  1. 跨境电商案例分析:他投资3万美元卖爆款手表,年入2.28亿!

    增长黑盒备用号,欢迎关注~ 大号出现了一些小意外被屏蔽,感谢各位朋友关心~ 为了以防万一,我们新建了两个公众号,一个是[增长黑盒精选],另一个是本号[增长黑盒Growthbox]备用,欢迎大家关注! ...

  2. 电商大数据项目(二)-推荐系统实战之实时分析以及离线分析

    电商大数据项目-推荐系统实战(一)环境搭建以及日志,人口,商品分析 https://blog.51cto.com/6989066/2325073 电商大数据项目-推荐系统实战之推荐算法 https:/ ...

  3. 《Spark商业案例与性能调优实战100课》第15课:商业案例之纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解

    <Spark商业案例与性能调优实战100课>第15课:商业案例之纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解

  4. 电商大数据项目-推荐系统实战(一)

    电商大数据项目-推荐系统实战(一)环境搭建以及日志,人口,商品分析 https://blog.51cto.com/6989066/2325073 电商大数据项目-推荐系统实战之推荐算法 https:/ ...

  5. 【电商系统】—项目缺陷管理(二)

    [电商系统]-项目缺陷管理(二) 题目分析:如何做bug/缺陷管理? 答题思路 缺陷管理角色 bug处理流程图

  6. 小型电商平台的项目估算

    小型电商平台的项目估算 四.项目估算 4.1 简介 4.2 规模估算 4.2.1 代码行估算方法 4.2.2 功能点分析方法 4.3 工作量估算 4.3.1 COCOMO方法 4.3.2 基于用例的工 ...

  7. Python爬虫_案例分析(二)

    Python爬虫_案例分析(二) 一.电影天堂案例 import scrapy from scrapy_movie.items import ScrapyMovieItem class MvSpide ...

  8. Z04 - 999、Flink与电商指标分析

    初学耗时:999h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 『   因为要去见那个不一般的人,所以我就不能是一般人.』 1.Z04系列全套网盘资源: Z04系列全套 ...

  9. 基于hadoop的电商销售预测分析系统HDFS+MapReduce+springboot或springcloud+Echarts

    基于hadoop的电商销售预测分析系统 使用分布式文件存储系统HDFS+mapreduce+springboot和springcloud+Echarts实现的简单的电商销售数据预测分析系统. 主要通过 ...

最新文章

  1. exchange 2003配置ASSP 反垃圾邮件
  2. 【MATLAB】进阶绘图 ( Bar 条形图 | bar 函数 | bar3 函数 | Bar 条形图样式 | 堆叠条形图 | 水平条形图 | barh 函数 )
  3. 全球及中国制糖行业销售规模与运营态势研究报告2022版
  4. 如何判断一个网站是否被百度处罚中
  5. Divide and conquer:Drying(POJ 3104)
  6. android答辩问题,我的设计是安卓微博,答辩时老师会问些什么问题
  7. vue2.0 + vux (四)Home页
  8. springboot整合mybatis-plus多数据源分别连接mysql和oracle
  9. 计算机系统基本组成教学设计,《计算机系统的基本组成》教学设计.pdf
  10. Java 百度OCR 身份证识别
  11. 思科路由器如何导出配置文件_如何备份cisco路由器配置文件
  12. 新手淘客你必须知道的秘密
  13. 微波存在感应雷达,人体存在感应雷达模块,物联网智能赋能应用
  14. Activiti工作流的流转任务和结束任务
  15. linux系统文件名颜色含义
  16. 三级分销系统产品设计原理
  17. 电脑运行计算机命令,常用的Windows运行命令,让你更好的管理电脑
  18. 策略路由(本地策略和接口策略)
  19. CM3学习笔记(一)存储器系统
  20. Win10 输入法v模式

热门文章

  1. c语言汇率转换代码_C语言兑换压岁钱
  2. webrtc scoped_refptr
  3. 试玩接入google技巧
  4. echarts的人员迁徙地图动态效果
  5. 【IT运维】传统运维与云运维到底有什么不同呢?
  6. SAS常用基础代码例子-聚类分析
  7. React 路由匹配模式
  8. Ceph集群报错解决方案笔记
  9. HTTP 请求头与响应头详解
  10. 汉思新材料自主研发生产耐高温单组份环氧胶