使用data.dropna()对空值进行删除,再使用data.isnull().values.sum()进行检查,结果为0。
数据清洗后的数据共计96255个。根据①通过餐饮数据分析选出最具有竞争力的品类的要求,选择相关的变量,选择[‘类别’, ‘口味’, ‘环境’, ‘服务’, '人均消费’]5个变量。
建立[‘类别’, ‘口味’, ‘环境’, ‘服务’, '人均消费’]的DataFrame,并且筛选出所有评分和消费大于0的情况。因为根据实际情况,评分和消费为0的数据对此没有参考作用。
引入’性价比’这一列,性价比的计算方式将所有的评分相加再除以人均消费金额,计算出 分/元 为单位的数值,表示单位价格获得的分数 来表示其性价比。
这样获得了df如下,筛选出了需要的数据54886个。
df.info()
——————————————————————————
<class ‘pandas.core.frame.DataFrame’>
Int64Index: 54886 entries, 0 to 96395
Data columns (total 6 columns):
类别 54886 non-null object
口味 54886 non-null float64
环境 54886 non-null float64
服务 54886 non-null float64
人均消费 54886 non-null int64
性价比 54886 non-null float64
dtypes: float64(4), int64(1), object(1)
memory usage: 2.9+ MB
构建模型
得到数据集df,选择’类别’进行groupby分组再进行mean值等到每个类别的值。
使用箱型图进行异常值的排查。