前言

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

作者:Python圈子

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


项目背景

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

提出问题

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

理解数据

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

data.info()
——————————————————————————
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 96398 entries, 0 to 96397
Data columns (total 10 columns):
类别      96258 non-null object
行政区     96255 non-null object
点评数     96398 non-null int64
口味      96398 non-null float64
环境      96398 non-null float64
服务      96398 non-null float64
人均消费    96398 non-null int64
城市      96398 non-null object
Lng     96398 non-null float64
Lat     96398 non-null float64
dtypes: float64(5), int64(2), object(3)
memory usage: 7.4+ MB

数据共计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的数据对此没有参考作用。

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

这样获得了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值等到每个类别的值。

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


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

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

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


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


设计了一个计算公式,权重自己设计 分数的计算式 比如按照 口味:人均消费:性价比 = 2:5:3 的比例去计算。
先合并df_kw_max_min、df_rj_max_min、df_xjb_max_min,通过pd.merge合并。

计算最后的得分

得出“甜品”是最佳的品类。
使用Qgis制作出关于’人口密度’、‘道路密度’、‘餐饮密度’、'竞品密度’、'经度’、’维度’相关的数据集。

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

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

数据可视化

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


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


得出结论:

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

Python数据分析:根据大众点评数据挑选店铺地址相关推荐

  1. python大众点评网实训报告中的参考文献_Python数据分析:大众点评数据进行选址...

    Python Python开发 Python语言 Python数据分析:大众点评数据进行选址 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时 ...

  2. python爬取大众点评数据

    python爬取大众点评数据 参考博客: python+requests+beautifulsoup爬取大众点评评论信息 大众点评评论抓取 Chrome如何获得网页的Cookies 如何查看自己访问网 ...

  3. python数据分析可视化大众点评网餐厅口碑包含数据

    部分代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams["font. ...

  4. 用Python爬取大众点评数据,推荐火锅店里最受欢迎的食品

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:有趣的Python PS:如有需要Python学习资料的小伙伴可以加点 ...

  5. python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据

    python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...

  6. python爬取大众点评数据_Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!...

    作者 | 胡萝卜酱 责编 | 伍杏玲 成都到处都是火锅店,有名的店,稍微去晚一点,排队都要排好久,没听说的店,又怕味道不好. 那么如何选择火锅店呢?最简单的肯定是在美团.大众点评上找一找啊.所以,本文 ...

  7. python爬取大众点评数据_利用Node.js制作爬取大众点评的爬虫

    前言 Node.js天生支持并发,但是对于习惯了顺序编程的人,一开始会对Node.js不适应,比如,变量作用域是函数块式的(与C.Java不一样):for循环体({})内引用i的值实际上是循环结束之后 ...

  8. 大众点评数据平台架构变迁

    2019独角兽企业重金招聘Python工程师标准>>> 最近和其他公司的同学对数据平台的发展题做了一些沟通,发现各自遇到的问题都类似,架构的变迁也有一定的相似性. 以下从数据& ...

  9. 大众点评数据信息获取——字体反爬

    大众点评数据信息获取--字体反爬 大众点评的字体反爬算是比较常见的,这次来学习一下相关字体反爬的技巧 以店铺的评论页面和店铺列表页面进行研究,分别对应了css字体映射,woff字体加密的反爬虫手段. ...

最新文章

  1. 计算机哪里看到32位还是64位,如何看电脑是32位还是64位?
  2. boost::multiprecision模块实现打印出所有的阶乘 这将适合一个 128 位整数相关的测试程序
  3. TCP Congestion Control
  4. wps居中对齐不在中间_WPS文字快捷键总结(Windows版本)--值得收藏
  5. 使用ajax局部更新Razor页面
  6. Boost.Interprocess
  7. linux嵌入式无线中继,openwrt无线中继设置步骤
  8. 2018.8.14 李开复重返 TED 演讲稿双语版
  9. 【深度学习框架体系的学习】pytorch
  10. Microsoft Visual Studio 2013 产品密匙
  11. 按键猫咪完美全键盘版教程
  12. 如何编写firefox插件
  13. docker学习5-docker安装tomcat环境和部署war包
  14. CSS——css外部样式文件的引入
  15. 短视频剪辑制作教学:编辑短视频时需要注意的三个方面
  16. 精益之美甚于帕斯雀(摘自《代码之道》第2章)
  17. 【DG】[三思笔记]一步一步学DataGuard
  18. DNF游戏中判断怪物相对于玩家的方向(角度)
  19. DPVS适配Intel E810-XXV系列25G网卡
  20. 虚拟机(虚拟机安装教程win10)

热门文章

  1. 能查到语音电子计算机记录的,将语音信号输入到智能装置的方法、电子装置及计算机专利_专利查询 - 天眼查...
  2. CSS Loading 加载效果
  3. java单向链表详解
  4. 前锋PHP的大并发集群技术,高并发下,php、swoole与redis实现的秒杀功能
  5. 长江大学计算机科学学院在哪个校区,华北科技学院有几个校区及校区地址
  6. EZView如何切换至横屏模式
  7. 无人车路径规划算法—(3)基于搜索的路径规划算法 (BFS/DFS/Dijkstra)
  8. 【鲁班学院】设计模式—访问者(Visitor)模式
  9. PPT使用技巧——学习记录
  10. java设计飞镖游戏_3分钟手把手带你使用Unity制作“扔飞镖游戏”