python分析保险销售数据_利用python对销售数据分析

这次学习我通过将excel表格数据导入python中进行数据清洗并分析,这次数据分析我们通过围绕月均消费次数,月均消费金额,客单价三个指标进行分析:

将数据导入:

import pandas as pd

filenamestr='D:\数据分析学习\数据分析(高级)(Python)\第3关:数据分析的基本过程\朝阳医院2018年销售数据.xlsx'

xls=pd.ExcelFile(filenamestr)

salesDf=xls.parse('Sheet1')

salesDf.head()

并对数据进行清洗

1、选取子集:该项分析不需要选取子集

2、列名重命名:将购药时间更改为销售时间

mingzidic={'购药时间':'销售时间'}

salesDf.rename(columns=mingzidic,inplace=True)

salesDf.head()

3、缺失数据处理:删除缺失值

salesDf=salesDf.dropna(subset=['销售时间','社保卡号'],how='any')

salesDf.shape

4、数据类型转换:将社保卡号和商品编码两列变成object类型,并且将销售日期进行分割处理为时间格式数据:

salesDf['社保卡号']=salesDf['社保卡号'].astype('object')

salesDf['商品编码']=salesDf['商品编码'].astype('object')

salesDf.dtypes

# 定义分割销售日期列的函数

def splitshijian(xiaoshoushijian):

timeList=[]

for value in xiaoshoushijian:

datestr=value.split(' ')[0]

timeList.append(datestr)

timeser=pd.Series(timeList)

return timeser

timeser=salesDf.loc[:,'销售时间']

#使用函数

dateser=splitshijian(timeser)

salesDf.loc[:,'销售时间']=dateser

#将销售时间列格式转换成时间格式以方便统计

salesDf.loc[:,'销售时间']=pd.to_datetime(salesDf.loc[:,'销售时间'],

format='%Y-%m-%d',

errors='coerce')

salesDf.head()

5、对数据进行排序及重命名行名:

salesDf=salesDf.dropna(subset=['销售时间','社保卡号'],how='any')

salesDf=salesDf.sort_values(by='销售时间',

ascending=True)

salesDf=salesDf.reset_index(drop=True)

6、处理异常值

shuliangtrue=salesDf.loc[:,'销售数量']>0

salesDf=salesDf.loc[shuliangtrue,:]

salesDf.shape

将数据清洗完成后对数据进行分析:

1、月均消费次数:

sdf1=salesDf.drop_duplicates(subset=['销售时间','社保卡号'])

zxfcishu=sdf1.shape[0]

总消费次数=5342次

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

sdf1=sdf1.reset_index(drop=True)

#得到初始时间和最终时间

starttime=sdf1.loc[0,'销售时间']

endtime=sdf1.loc[zxfcishu-1,'销售时间']

#天数

shidays=(endtime-starttime).days

#月份

shimonth=shidays//30

得出表格跨度的月份为6个月

yjxfcishu=zxfcishu/shimonth

print('月均消费次数=',yjxfcishu)

月均消费次数=890次

2、月均消费金额

xsjin=salesDf.loc[:,'实收金额'].sum()

总消费金额为304010元

yjxfje=xsjin/shimonth

print('月均消费金额=',yjxfje)

月均消费金额=50668.35元

3、客单价

kedanjia=xsjin/zxfcishu

print('客单价=',kedanjia)

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

你可能感兴趣的:(python分析保险销售数据)