Python数据分析:大众点评数据进行选址

大数据 数据分析
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

[[324555]]

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。

一、项目背景

  • 案例类型:练习
  • 案例工具:Python、Qgis
  • 案例目的:通过实战进行学习,让大家综合运用基础知识,加深印象巩固记忆。

二 、提出问题

  • 通过餐饮数据分析选出最具有竞争力的品类;
  • 通过建立综合分数指标的计算公式来挑选出最适合地址。

三、理解数据

读取数据集后,通过info()和describe()方法来查看一下数据的基本情况。

  1. data.info() 
  2. —————————————————————————— 
  3. <class 'pandas.core.frame.DataFrame'
  4. RangeIndex: 96398 entries, 0 to 96397 
  5. Data columns (total 10 columns): 
  6. 类别      96258 non-null object 
  7. 行政区     96255 non-null object 
  8. 点评数     96398 non-null int64 
  9. 口味      96398 non-null float64 
  10. 环境      96398 non-null float64 
  11. 服务      96398 non-null float64 
  12. 人均消费    96398 non-null int64 
  13. 城市      96398 non-null object 
  14. Lng     96398 non-null float64 
  15. Lat     96398 non-null float64 
  16. dtypes: float64(5), int64(2), object(3) 
  17. memory usage: 7.4+ MB 
  18. 数据共计96398个,10个变量/特征,数据类型数量为 float64(5), int64(2), object(3),粗略观察,数据明显有缺失值的情况,需要进行数据的清洗。 

四、数据处理

使用data.isnull().values.sum()检查空值数量,检查出283个空值。

由于空值占数据总量比例为283/96398 = 0.0029,删除空值并不影响整体的数据情况,所以这里采用删除的办法来处理空值。

使用data.dropna()对空值进行删除,再使用data.isnull().values.sum()进行检查,结果为0。

数据清洗后的数据共计96255个。根据①通过餐饮数据分析选出最具有竞争力的品类的要求,选择相关的变量,选择['类别', '口味', '环境', '服务', '人均消费’]5个变量。

建立['类别', '口味', '环境', '服务', '人均消费’]的DataFrame,并且筛选出所有评分和消费大于0的情况。因为根据实际情况,评分和消费为0的数据对此没有参考作用。

 

Python数据分析:大众点评数据进行选址

引入’性价比’这一列,性价比的计算方式将所有的评分相加再除以人均消费金额,计算出 分/元 为单位的数值,表示单位价格获得的分数 来表示其性价比。

 

Python数据分析:大众点评数据进行选址

这样获得了df如下,筛选出了需要的数据54886个。

  1. df.info() 
  2. —————————————————————————— 
  3. <class 'pandas.core.frame.DataFrame'
  4. Int64Index: 54886 entries, 0 to 96395 
  5. Data columns (total 6 columns): 
  6. 类别      54886 non-null object 
  7. 口味      54886 non-null float64 
  8. 环境      54886 non-null float64 
  9. 服务      54886 non-null float64 
  10. 人均消费    54886 non-null int64 
  11. 性价比     54886 non-null float64 
  12. dtypes: float64(4), int64(1), object(1) 
  13. memory usage: 2.9+ MB 

五、构建模型

得到数据集df,选择'类别'进行groupby分组再进行mean值等到每个类别的值。

 

Python数据分析:大众点评数据进行选址

使用箱型图进行异常值的排查。

 

Python数据分析:大众点评数据进行选址

 

Python数据分析:大众点评数据进行选址

箱型图使用异常值删除的函数,对异常值进行删除。

 

Python数据分析:大众点评数据进行选址

构建一个选择具有竞争力的品类的公式的因素,例如’口味','人均消费’,'性价比’,然后通过异常值删除的函数得出数据集。

 

Python数据分析:大众点评数据进行选址

将三组数据集放在同一张图上面。

 

Python数据分析:大众点评数据进行选址

 

Python数据分析:大众点评数据进行选址

很明显是由于没有做 数据标准化处理。

数据标准化处理之后

 

Python数据分析:大众点评数据进行选址

 

Python数据分析:大众点评数据进行选址

设计了一个计算公式,权重自己设计 分数的计算式 比如按照 口味:人均消费:性价比 = 2:5:3 的比例去计算。

先合并df_kw_max_min、df_rj_max_min、df_xjb_max_min,通过pd.merge合并。

 

Python数据分析:大众点评数据进行选址

计算最后的得分

 

Python数据分析:大众点评数据进行选址

得出【甜品】是最佳的品类。

使用Qgis制作出关于'人口密度'、'道路密度'、'餐饮密度'、'竞品密度’、'经度’、’维度'相关的数据集。

 

Python数据分析:大众点评数据进行选址

数据集有空值,使用dealdata.fillna(0,inplace=True)进行0的填充。

观察数据得知,'人口密度'、'道路密度'、'餐饮密度'、'竞品密度’不在同一纬度上,所以进行数据标准化处理。再计算['综合指标’]这一新列的数值。按照’人口密度’:'道路密度’:'餐饮密度’:'竞品密度’=4:3:2:1的比例。

六、数据可视化

利用matplotlib进行制图,使用散点图。

 

Python数据分析:大众点评数据进行选址

 

Python数据分析:大众点评数据进行选址

补充:使用bokeh绘制空间互动图形。

 

Python数据分析:大众点评数据进行选址

 

Python数据分析:大众点评数据进行选址

得出结论:

甜品店选址在(121°472′E,31°301′N)、(121°473′E,31°274′N)、(121°493′E,31°244′N)等地方开设最优

 

责任编辑:未丽燕 来源: 今日头条
相关推荐

2013-06-20 14:29:49

2016-09-29 15:03:50

大众 点评

2015-10-12 11:25:20

android大众点评下拉动画

2015-07-16 13:23:13

2013-03-18 16:49:50

大众点评315央视

2016-05-23 16:22:49

大众点评支付网关系统

2022-07-07 11:27:14

技术搜索模型

2013-06-19 09:51:00

大众点评网大众点评网被黑

2016-01-14 10:33:35

FusionServe华为大众点评网

2012-09-04 11:09:20

2012-07-18 10:41:35

语音功能

2016-02-16 17:14:13

高可用系统大众点评

2012-04-25 18:07:17

大众点评网王宏网站平台迁移

2014-02-17 09:38:42

大众点评股权微信入口

2015-10-08 10:09:16

2019-05-28 14:43:25

CIO大众点评APP

2012-04-20 18:26:09

大众点评网王宏.Net

2012-03-12 09:51:42

上市

2016-03-22 16:11:31

高可用性系统实践经验

2019-01-15 14:21:13

Python数据分析数据
点赞
收藏

51CTO技术栈公众号