练习:药店销售数据分析

该博客主要探讨了药店销售数据的分析过程,包括提出月均消费次数、月均消费金额、客单价等关键业务指标。数据清洗步骤涉及列名重命名、缺失值处理、数据类型转换及异常值处理。最后,通过构建模型计算各业务指标,并利用折线图展示消费趋势。
摘要由CSDN通过智能技术生成
import pandas as pd
filename='./朝阳医院2018年销售数据.xlsx'
xls=pd.ExcelFile(filename,dtype='object')
salesDF=xls.parse('Sheet1',dtype='object')

1.提出问题

从销售数据中分析出以下业务指标:

1)月均消费次数

2)月均消费金额

3)客单价

4)消费趋势

'''
查看数据基本信息
'''
salesDF.head()
购药时间 社保卡号 商品编码 商品名称 销售数量 应收金额 实收金额
0 2018-01-01 星期五 001616528 236701 强力VC银翘片 6 82.8 69
1 2018-01-02 星期六 001616528 236701 清热解毒口服液 1 28 24.64
2 2018-01-06 星期三 0012602828 236701 感康 2 16.8 15
3 2018-01-11 星期一 0010070343428 236701 三九感冒灵 1 28 28
4 2018-01-15 星期五 00101554328 236701 三九感冒灵 8 224 208
#查看数据多少列,多少行
salesDF.shape
(6578, 7)
#查看每一列数据类型
salesDF.dtypes
购药时间    object
社保卡号    object
商品编码    object
商品名称    object
销售数量    object
应收金额    object
实收金额    object
dtype: object

2.数据清洗

1)选择子集(本案例不需要选择子集)
#选择子集的方法
#subSalesDF=salesDF.loc[0:4,'购药时间':'销售数量']
2)列名重命名
#旧列名与新列名对应关系
colName={
  '购药时间':'销售时间'}
'''
inplace=False数据框本身不会变,会创建一个改动后新数据框,
默认inplace=False
inplace=True,数据框本身会发生改变
'''
salesDF.rename(columns=colName,inplace=True)
salesDF.head()
销售时间 社保卡号 商品编码 商品名称 销售数量 应收金额 实收金额
0 2018-01-01 星期五 001616528 236701 强力VC银翘片 6 82.8 69
1 2018-01-02 星期六 001616528 236701 清热解毒口服液 1 28 24.64
2 2018-01-06 星期三 0012602828 236701 感康 2 16.8 15
3 2018-01-11 星期一 0010070343428 236701 三九感冒灵 1 28 28
4 2018-01-15 星期五 00101554328 236701 三九感冒灵 8 224 208
3)缺失数据的处理
#删除前数据大小
salesDF.shape
(6578, 7)
#删除列(销售时间,社保卡号)中为空的行
#how=‘any’ 在给定的任何一列中有缺失值就删除
salesDF=salesDF.dropna(subset=['销售时间','社保卡号'],how='any')
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值