项目描述:
现有数据如下:
任务一:从三个维度“口味”、“人均消费”、“性价比”对不同菜系进行比较,并筛选出可开店铺的餐饮类型
任务二:选择一个餐饮类型(如:以素菜为例),分析得到餐饮选址位置
项目分析:
一、任务一
- 计算出三个维度的指标得分
- 评价方法:
口味 → 得分越高越好
性价比 → 得分越高越好
人均消费 → 价格适中即可 - 制作散点图
二、任务二
-
通过空间分析,分别计算每个格网内的几个指标:人口密度指标、道路密度指标、餐饮热度指标、同类竞品指标
-
评价方法:
人口密度指标 → 得分越高越好
道路密度指标 → 得分越高越好
餐饮热度指标 → 得分越高越好
同类竞品指标 → 得分越低越好
综合指标 = 人口密度指标0.4 + 餐饮热度指标0.3 + 道路密度指标0.2 +同类竞品指标0.1 -
最后得到较好选址的网格位置的中心坐标,以及所属区域
项目实施:
一、任务一
1、了解数据
# 导入相关库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
%matplotlib inline
warnings.filterwarnings('ignore')
#导入数据
import os
os.chdir(r'D:\anaconda\workplace\Data_Analysis\Data')
df1 = pd.read_excel('上海餐饮数据.xlsx')
df1.head()
df1.info()
- 数据少量字段存在空值,数据质量较高
# 口味、客单价、性价比指标计算
# 筛选数据,清除空值、为0的数据
data1 = df1[['类别','口味','环境','服务','人均消费']]
data1.dropna(inplace = True)
data1 = data1[(data1['口味']>0)&(data1['人均消费']>0)]
# 计算性价比指数
data1['性价比'] = (data1['口味'] + data1['环境'] + data1['服务']) / data1['人均消费']
# 绘制箱型图,查看异常值
fig,axes = plt.subplots(1,3,figsize = (10,4))
data1.boxplot(column=['口味'],ax = axes[0])
data1.boxplot(column=['人均消费'],ax = axes[1])
data1.boxplot(column=['性价比'],ax = axes[2])
2、处理异常值
# 创建函数 → 删除异常值
def f1(data,col):
q1 = data[col].quantile(q = 0.25)
q3 = data[col].quantile(q = 0.75)
iqr