数据清洗之朝阳医院2018年销售数据分析

朝阳医院2018年销售数据分析

所用到的数据提取地址:——>戳这里下载,或私我

过程:

数据清洗之朝阳医院2018年销售数据分析_第1张图片
数据清洗之朝阳医院2018年销售数据分析_第2张图片
数据清洗之朝阳医院2018年销售数据分析_第3张图片

数据清洗之朝阳医院2018年销售数据分析_第4张图片

数据清洗之朝阳医院2018年销售数据分析_第5张图片

数据清洗之朝阳医院2018年销售数据分析_第6张图片
数据清洗之朝阳医院2018年销售数据分析_第7张图片

数据清洗之朝阳医院2018年销售数据分析_第8张图片

整体代码:



#导入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_excel('朝阳医院2018年销售数据.xlsx')    #导入数据

#了解数据

data.head()    #查看前五行 
data.describe()    #查看总体数据的描述统计分析
data.info()     #看一下数据信息


# 清洗数据


#把购药时间改成销售时间,直接在原数据框进行修改。
data.rename(columns= {'购药时间':'销售时间'},inplace=True)
#看一下修改后的数据
data.head()


#没有时间和社保卡号的消费数据对于本次分析是无效的,
#所以清理一下缺失值
data=data.dropna(subset=['销售时间','社保卡号'],how='any')
data.head()#查看前五行数据


#把销售时间的日期和星期分开。
data['销售时间'], data['销售星期'] = data['销售时间'].str.split(' ', 1).str
#切分好之后,把销售时间变为时间类型
data['销售时间'] = pd.to_datetime(data['销售时间'],format='%Y-%m-%d',errors='coerce')
#先看一下清洗到这个阶段的数据
data.head()




#重置一下索引
#将数据按照销售时间排序
data = data.sort_values('销售时间',ascending=True)
#重置索引
data = data.reset_index(drop=True)
#再看一下数据
data.head()




#选取销售数量和应收金额大于0的列
data = data[(data['销售数量'] > 0) & (data['应收金额'] > 0)]
#看一下目前的数据
data.head()




#数据分析


#首先对数据进行一个去重,使用drop_duplicates函数
data = data.drop_duplicates(subset=['销售时间','社保卡号'])
#去重后看一下一共有多少条数据
total = data.shape[0]
Total

#再计算月份
#用销售时间的最大值减去最小值即可得到天数,再除以(地板除)三十就可以得到月份了
month = (data['销售时间'].max() - data['销售时间'].min()).days // 30

KPI1 = total / month
print('月均消费次数为:',KPI1)



#计算总金额
sum_sale = data['实收金额'].sum()

kpi2=sum_sale/month
print('月均消费金额为:',kpi2)


#客单价 就是总实收金额除以总消费次数
kdj = sum_sale/total
print('客单价:',kdj)


# 消费趋势

#对去重后的数据按照天进行重新采样
#首先要把索引变成时间
data.index = pd.DatetimeIndex(data['销售时间'])
#将索引按天聚合
b = data.resample('D').count()
b.head()




#画图
plt.plot(b.index,b['实收金额'])
plt.xlabel = 'Time'
plt.ylabel = 'Money'
plt.title = '总金额消费趋势图'
plt.show()





#按月采样
datas = data.resample('M').sum()
#画图
plt.plot(datas.index, datas['实收金额'])
plt.show()



del data['Unnamed: 7']  #删除空值的一行
del data['Unnamed: 8']
del data['Unnamed: 9']
data.head()

你可能感兴趣的:(Python数据挖掘)