数据分析步骤:

提出问题-理解数据-数据清洗-构建模型-数据可视化

下面就拿2018年朝阳医院销售数据按上述步骤进行分析。

1.提出问题

根据拿到的销售数据字段信息,我们对以下三个业务指标进行分析 。

(1)月均消费次数

(2)月均消费金额

(3)客单价

2.理解数据

导入销售数据包。

#导入销售数据文件

import pandas as pd

salesDF = pd.read_excel(r"D:\qixiao\朝阳医院2018年销售数据.xlsx", filename="ALL")

print("导入成功")

通过head()输出几行预览数据,并查看下数据量(行与列)及数据类型等基础信息。

#预览数据

print(salesDF.head())

print(salesDF.shape)

print(salesDF.dtypes)

3.数据清洗

在清洗此案例的数据前,我们先了解一下数据清洗的基本步骤。

1)选取子集

每个分析问题(指标)涉及的数据可能不一致,我们为了方便处理数据,需要将问题涉及到的数据集提取出来,形成一个新的数据集。本案例每个分析问题都用到了全量销售数据,不涉及选取子集。

subsalesDF=salesDF.loc[0:4,'购药时间':'销售数量']

2)列名重命名

salesDF.rename(columns={'购药时间':'销售时间'},inplace=True)

print(salesDF.head())

3)缺失数据处理

首先查看一下各字段缺失值情况。

#统计各字段缺失值情况

print((salesDF.isnull()).sum())

在本案例只要一个字段有缺失值,整条数据就被认为无意义的,需要删除。

#删除缺失值

salesDF.dropna(axis= 0,how= 'any',inplace= True )

print(salesDF.shape)

4)数据类型转换

导入文件后,社保卡号与商品编码是float型,但实际应为字符串。

salesDF['社保卡号']=salesDF['社保卡号'].astype(str)

salesDF['商品编码']=salesDF['商品编码'].astype(str)

下面,需要得到销售时间的日期类型,需要split函数对字段截取。

salesDF['销售时间']=salesDF.销售时间.map(lambda x:x.split(' ')[0])

salesDF['销售时间']=pd.to_datetime(salesDF['销售时间'],format='%y-%m-%d',errors='coerce')

print(salesDF.dtypes)

5)数据排序

按照销售时间升序排序,并对号重命名。

salesDF=salesDF.sort_values(by='销售时间',ascending=True)

salesDF=salesDF.reset_index(drop=True)

6)异常值处理

通过查看数据的描述性统计,发现销售数据,与销售金额存在负值,是不合理的。

print(salesDF.describe())

对于负值数据,我们应该去除,否则会使真是指标产生偏差。

salesDF=salesDF[salesDF['销售数量']>0]

4.构建模型

定义指标公式:月均消费次数=总消费次数/月份数

月均消费金额=总消费金额/月份数

客单价=总消费金额/总消费次数

1)月均消费次数

在数据中存在同一个客户消费多次,在统计总消费次数时,我们认为,同一天同一个人发生的所有消费算作一次。

#计算总消费次数

kpi1_DF=salesDF.drop_duplicates(subset=['销售时间','社保卡号'])#删除同天重复数据

total1=kpi1_DF.shape[0]

#计算月份数

kpi1_DF=kpi1_DF.sort_values(by='销售时间',ascending=True)

kpi1_DF=kpi1_DF.reset_index(drop=True)

mintime=kpi1_DF.loc[0,'销售时间']

maxtime=kpi1_DF.loc[total1-1,'销售时间']

month=((maxtime-mintime).days)//30

#计算月均消费次数

kpi1=total1//month

print('月均消费次数:',kpi1)

2)月均消费金额

totalmoney=salesDF['实收金额'].sum()

kpi2=round(totalmoney/month,2)

print('月均消费金额:',kpi2)

3)客单价

kpi3=round(totalmoney/total1,2)

print('客单价:',kpi3)

5.可视化展示

待续。。。。。。

python药店销售数据分析_Python:某医院药品销售数据分析相关推荐

  1. java药品销售系统,基于jsp的药品销售系统-JavaEE实现药品销售系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的药品销售系统, 该项目可用各类java课程设计大作业中, 药品销售系统的系统架构分为前后台两部分, 最终实现在线上 ...

  2. 根据医院药品销售数据分析本年度销售情况

    一.数据分析的目的 本篇文章中以某医院2018年药品销售数据为例,目的是了解该医院在2018年里的销售情况,这就需要知道几个业务指标,例如:月均消费次数,月均消费金额.客单价以及消费趋势. 二.数据分 ...

  3. python numpy读取数据_python机器学习(七)数据分析利器,NumPy,pandas与Matplotlib

    image.png 一.Numpy NumPy库名字来源于"Numerical Python" 的缩写. 1.1.数组的概念 a为定义的一个列表,b为定义的一个数组. import ...

  4. python实现商品管理系统_python实现超市商品销售管理系统

    本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 class Goods(object): def __init__(self, id, name, price ...

  5. python基金预测分析_Python爬虫抓取基金数据分析、预测系统设计与实现

    版权声明:本文为博主原创文章,如果转载请给出原文链接:http://doofuu.com/article/4156231.html 目前在开发一款基于Python的基金爬取.分析.预测系统,目前已经开 ...

  6. Python药店销售数据分析

    分析目标:根据药店销售数据,分析药品销售关键指标,以及药品销售趋势 1. 导入并清理数据 import pandas as pd# 以object形式输入数据可保持数据原始形状,之后可用astype( ...

  7. 北京市朝阳医院药品销售数据分析

    目录 第1章绪论 1.1研究背景 1.2 研究目的与意义 1.3研究内容 2.1数据采集 2.1.1源数据下载 2.2.2源数据存储 2.2数据预处理 2.2.1数据预处理工具介绍及操作 2.2.2读 ...

  8. 基于asp.net医院药品进销存系统

    本医院药品进销存系统主要医院内部提供服务,系统分为管理员员工两部分. 本研究课题重点主要包括了下面几大模块:用户登录,药品信息管理,客户信息管理,员工信息管理,销售信息管理,采购信息管理,统计报表,基 ...

  9. 基于C++实现的药品销售管理系统

    点击获取源码资源 一.课程设计的原始资料及依据 查阅有关资料,进一步理解面向对象程序设计的思想,并利用MFC框架编写一个简单的windows系统.通过本设计可以加深理解使用面向对象程序设计思想开发一个 ...

最新文章

  1. 腾讯 Robotics X 实验室首次「开箱」移动机器人,能走梅花桩,还能自平衡
  2. 创建包含CRUD操作的Web API接口-第一部
  3. PE文件结构(五岁以下儿童)基地搬迁
  4. Java SE 6 新特性: Java DB 和 JDBC 4.0
  5. Android基础 获取屏幕的宽与高
  6. php时间序列比对,常用在线序列比对工具
  7. JavaScript 图片切割效果(带拖放、缩放效果)
  8. mssql linux性能,MSSQL 的Top 和 MAX 效率测试
  9. 【聊透SpringMVC】28天肝完阿里面试通关宝典
  10. git push报错 [remote rejected] HEAD (no new changes) error
  11. 提升执行力,小米手环打造TODO神器
  12. 【马红“名师+”研修共同体】“课” 展风采,“研”无止境----教学交流活动(二)
  13. 论文阅读《Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection》
  14. Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx
  15. 知识图谱03:知识图谱的构建方法
  16. linux 图像处理软件,最佳开源应用程序:图形/图像处理软件
  17. WordPress+BuddyPress注册页面404问题的解决
  18. Python?Python!(python是解释型还是编译型)
  19. 视频处理工具安利,要制作视频的快来
  20. 12、config-server 配置中心 git 版

热门文章

  1. oracle下载,windows版本的oracle数据库下载
  2. H3C交换机SSH配置(20200922)
  3. 如何使用大智慧条件选股
  4. springboot+nodejs+vue+elementui会议室考勤签到管理系统java
  5. 《思危:犹太人的赚钱哲学》阅读
  6. C++项目--汇总(无工作经验或者不到两年工作经验者)
  7. 笔记:中国大学MOOC课程《程序设计入门——C语言》编程练习
  8. CST微波工作室学习笔记—10.数据后处理
  9. Maven打包跳过单元测试
  10. orientdb实战