一.数据分析步骤
1.提出问题
2.理解数据
3.数据清洗
4.构建模型
5.数据可视化
二.医院2018年销售数据
数据导入在文件路径前加r(转义符)
文件可能有多个sheet,所以用sheet_name重命名
参数dtype=str同意先按照字符串读入,之后再转换
salesDf.head(),显示前5行,从0行开始,如果想要输入多行,可以在括号内输入数字
1.提出问题月均消费次数
月均消费金额
客单价
2.理解数据
3.清洗数据1.选择子集
用salesDf.loc选取我们想要分析的数据2.重命名
为了方面接下来的分析,用salesDf.rename函数将‘购药时间’重命名为‘销售时间’。
inplace为True表示将原列明替换,False表示新增一列3.缺失值处理
先查看下删除缺失值之前的行和列数
用dropna函数进行删除,如果删除之后,空值仍然存在,因为‘nan’本身是一个空字符串,.dropna并不会将空字符串当空值处理。因此用'np.nan'使用inplace函数代替。
dropna表示制定查询函数的列,这里指定‘销售时间’和‘社保卡号’,how=‘any’表示一行里,只要有一个空值,就将整行删除。how=‘all’表示只有当整行都是空值时,才能删除整行。4.数据类型转换
字符串转换为数值(浮点型)
字符串转换为日期类型5.数据排序
salesDf.sort_values是排序参数,其中ascending=True是升序排列,否则为降序。
na_position=‘first’表示把空值放到最前面
索引重新排序后如下6.异常值处理
通过.describe()发现最小值销量为负值,说明肯定有异常值,然后通过.local重新定义,排除异常值
4.构建模型月均消费次数
月均消费次数=总消费次数/月份数
总消费次数,同一天内,同一个人的多笔消费次数视为一次,因此需要先进行删除重复数
计算时间范围
第一步:按照销售时间升序排列
第二步:获取时间范围
第三步:计算月均消费次数月均消费金额客单价