python药店销售数据分析_Python:某医院药品销售数据分析
数据分析步骤:
提出问题-理解数据-数据清洗-构建模型-数据可视化
下面就拿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:某医院药品销售数据分析相关推荐
- java药品销售系统,基于jsp的药品销售系统-JavaEE实现药品销售系统 - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的药品销售系统, 该项目可用各类java课程设计大作业中, 药品销售系统的系统架构分为前后台两部分, 最终实现在线上 ...
- 根据医院药品销售数据分析本年度销售情况
一.数据分析的目的 本篇文章中以某医院2018年药品销售数据为例,目的是了解该医院在2018年里的销售情况,这就需要知道几个业务指标,例如:月均消费次数,月均消费金额.客单价以及消费趋势. 二.数据分 ...
- python numpy读取数据_python机器学习(七)数据分析利器,NumPy,pandas与Matplotlib
image.png 一.Numpy NumPy库名字来源于"Numerical Python" 的缩写. 1.1.数组的概念 a为定义的一个列表,b为定义的一个数组. import ...
- python实现商品管理系统_python实现超市商品销售管理系统
本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 class Goods(object): def __init__(self, id, name, price ...
- python基金预测分析_Python爬虫抓取基金数据分析、预测系统设计与实现
版权声明:本文为博主原创文章,如果转载请给出原文链接:http://doofuu.com/article/4156231.html 目前在开发一款基于Python的基金爬取.分析.预测系统,目前已经开 ...
- Python药店销售数据分析
分析目标:根据药店销售数据,分析药品销售关键指标,以及药品销售趋势 1. 导入并清理数据 import pandas as pd# 以object形式输入数据可保持数据原始形状,之后可用astype( ...
- 北京市朝阳医院药品销售数据分析
目录 第1章绪论 1.1研究背景 1.2 研究目的与意义 1.3研究内容 2.1数据采集 2.1.1源数据下载 2.2.2源数据存储 2.2数据预处理 2.2.1数据预处理工具介绍及操作 2.2.2读 ...
- 基于asp.net医院药品进销存系统
本医院药品进销存系统主要医院内部提供服务,系统分为管理员员工两部分. 本研究课题重点主要包括了下面几大模块:用户登录,药品信息管理,客户信息管理,员工信息管理,销售信息管理,采购信息管理,统计报表,基 ...
- 基于C++实现的药品销售管理系统
点击获取源码资源 一.课程设计的原始资料及依据 查阅有关资料,进一步理解面向对象程序设计的思想,并利用MFC框架编写一个简单的windows系统.通过本设计可以加深理解使用面向对象程序设计思想开发一个 ...
最新文章
- 腾讯 Robotics X 实验室首次「开箱」移动机器人,能走梅花桩,还能自平衡
- 创建包含CRUD操作的Web API接口-第一部
- PE文件结构(五岁以下儿童)基地搬迁
- Java SE 6 新特性: Java DB 和 JDBC 4.0
- Android基础 获取屏幕的宽与高
- php时间序列比对,常用在线序列比对工具
- JavaScript 图片切割效果(带拖放、缩放效果)
- mssql linux性能,MSSQL 的Top 和 MAX 效率测试
- 【聊透SpringMVC】28天肝完阿里面试通关宝典
- git push报错 [remote rejected] HEAD (no new changes) error
- 提升执行力,小米手环打造TODO神器
- 【马红“名师+”研修共同体】“课” 展风采,“研”无止境----教学交流活动(二)
- 论文阅读《Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection》
- Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx
- 知识图谱03:知识图谱的构建方法
- linux 图像处理软件,最佳开源应用程序:图形/图像处理软件
- WordPress+BuddyPress注册页面404问题的解决
- Python?Python!(python是解释型还是编译型)
- 视频处理工具安利,要制作视频的快来
- 12、config-server 配置中心 git 版