项目介绍

使用pyecharts对星巴克门店分布进行可视化分析:

  • 全球门店分布/拥有星巴克门店最多的10个国家或地区;
  • 拥有星巴克门店最多的10个城市;
  • 门店所有权占比;
  • 中国地区门店分布热点图。

数据背景

该数据集来源Kaggle,囊括了截至2017/2月份全球星巴克门店的基础信息,其中包括品牌名称、门牌地址、所在国家、经纬度等一系列详细的信息。

数据说明

字段名称 类型 解释说明
Brand Object 品牌名称,数据字典中包含了星巴克旗下的子品牌
Store Number Object 门店编号,独立且唯一
Store Name Object 门店名称,示例:“北京建国门内大街店”
Ownership Type Object 门店所有权类型,如:Company Owned
Street Address Object 门店所在的街道地址
City Object 门店所在的城市名称
State/Province Object 门店所在的省份地区
Country Object 门店所在的国家或地区,如:US,代表美国
Postcode Object 门店所在地址的邮政编码
Phone Number Object 门店的联系电话
Timezone Object 门店所在地的时区
Longitude Float64 门店地址的经度
Latitude Float64 门店地址的纬度

可视化

  • 导入包以及数据
import pyecharts
import pandas as pd
import warnings
warnings.filterwarnings("ignore")
data = pd.read_csv('directory.csv')
#读取文件
Country = pd.read_csv('Country.csv')
#用于替换星巴克门店信息中Country字段简写
data = pd.merge(data,Country,left_on='Country',right_on='国际域名缩写',how = 'left')

星巴克门店全球分布

  • 截止数据采集时间,目前星巴克总共在全球73个国家和地区设有门店,合计25249家。
temp = data.groupby('Countries and Regions')['Brand'].count().reset_index()
temp.columns = ['国家或地区','计数'] Map = pyecharts.Map("世界地图 - 不带标记点")
Map.add("国家或地区",temp['国家或地区'], temp['计数'], maptype="world", is_visualmap=True,style='heatmap',
is_map_symbol_show=False, visual_text_color='#000')
Map

  • 我们可以看见,门店主要还是集中在美洲,亚洲,欧洲,非洲目前只有摩洛哥,埃及南非设有门店。
  • 另外有意思的一点,整个澳大利亚只有22家星巴克门店,难道是澳大利亚人不爱喝咖啡吗,其实正好相反,因为澳大利亚人太钟爱咖啡了,澳大利亚人对咖啡的讲究,就像中国人对茶的挑剔一样,对于星巴克这种过于商业化的连锁品牌有些难以生存。
  • 其实除了澳大利亚其实还有一个国家更过分,只是由于面积小不容易被注意到,那就是意大利,一家星巴克也没有(查了一下新闻,星巴克似乎17年3月在意大利开设了一家)。

拥有星巴克门店最多的10个国家或地区

temp = data.groupby('City')['Brand'].count().reset_index()
temp = temp.nlargest(10,'Brand')
temp.columns = ['城市','计数'] bar = pyecharts.Bar("星巴克门店数量TOP10城市", "来源:kaggle",width=1200,height=600)
bar.add("门店数量", temp['城市'], temp['计数'],mark_point=['max'])
bar

  • 毕竟是美国的品牌,美国星巴克门店数量还是远多于其他国家,其次是我们国家,总计2734家,目前应该更多了。

拥有星巴克门店最多10个城市

  • 看到上面的统计,我们可能会想到拥有星巴克门店最多的城市应该是纽约或者洛杉矶这些美国的超级城市,其实最后统计结果还有点意外。
temp = data.groupby('City')['Brand'].count().reset_index()
temp = temp.nlargest(10,'Brand')
temp.columns = ['城市','计数'] bar = pyecharts.Bar("星巴克门店数量TOP10城市", "来源:kaggle",width=1200,height=600)
#bar.use_theme('vintage')
bar.add("门店数量", temp['城市'], temp['计数'],mark_point=['max'])
bar

  • 排名第一的既不是纽约也不是洛杉矶,而是上海,拥有542家星巴克门店远远领先其他城市;
  • 第二是首尔,韩国5000W人口拥有近1000家星巴克门店,首尔出现在第二的位置不算意外,第三是北京,第四才是美国的纽约。
  • 第10名西雅图,是星巴克总部所在地,除了这个原因,也许西雅图程序员也贡献了不少营业额。

所有权分布

这个需要提前解释一下,目前星巴克门店的经营方式氛围如下4类:

  • Company Owned:公司独资直营,这也是星巴克门店最多的经营方式
  • Licensed: 许可经营
  • Joint Venture: 合资经营,比如:国内江浙沪地区的星巴克最早就是由星巴克与统一集团联手经营,17年7月的时候星巴克已收回所有权
  • Franchise:授权经营,类似麦当劳的经营模式
temp = data.groupby('Ownership Type')['Brand'].count().reset_index()
temp = temp.nlargest(10,'Brand')
temp.columns = ['Ownership Type','计数'] chart = pyecharts.Pie("星巴克门店所有权分布", "来源:kaggle", title_pos='center')
chart.add("占比", temp['Ownership Type'], temp['计数'], is_random=True,
radius=[30, 75], rosetype='radius',
is_legend_show=False, is_label_show=True)
chart

中国区分布

  • 我们接下来通过热点图看下星巴克门店在中国区内的分布情况;
temp = data[data['Country']=='CN'].groupby('City')['Brand'].count().reset_index()
#防坑,门店信息中城市格式不统一,无法使用pyecharts自带的经纬度,自定义添加门店文件自带的经纬度
position = dict(zip(data['City'].values,data[['Longitude','Latitude']].values.tolist()))
chart = pyecharts.Geo("全国门店分布热点图", "来源:Kaggle", title_color="#fff", title_pos="center",
width=800, height=600, background_color='#404a59')
chart.add("", temp['City'], temp['Brand'], visual_range=[0, 80], type='heatmap',
visual_text_color="#fff", is_visualmap=True,is_legend_show=False,
geo_cities_coords = position)
chart

  • 毫无意外的最红的三个区域——长三角,珠三角北京
  • 中部城市以成都/武汉为首。
  • TOP20榜单,看看有没有你所在的城市:
城市 数量
上海市 542
北京市 234
杭州市 117
深圳市 113
广州市 106
香港 104
成都市 98
苏州市 90
南京市 73
武汉市 67
宁波市 59
天津市 58
重庆市 41
无锡市 40
西安市 40
佛山市 33
东莞市 31
厦门市 31
青岛市 28
常州市 26

最后

总体来说,星巴克门店主要还是分布在发达国家和地区,当然也与不同国家地区的文化有关,我们还是不能武断地因为哪个城市,哪个国家星巴克更多就断定更发达。

另外echarts是由百度团队开发的JavaScript可视化图表库,目前python中可以直接通过pyecharts调用,除了丰富的图表还具有传统图表不具有的交互性,强烈推荐各位使用。

skr~skr~~~

pyecharts实现星巴克门店分布可视化分析的更多相关文章

  1. pandas实战——对星巴克数据的分析

    一.实验对象 实验对象为星巴克在全球的门店数据,我们可以使用pandas对其进行简单的分析,如分析每个国家星巴克的数量,根据门店数量对国家进行排序等. 二.数据分析 1.读取数据并获取数据行列数 首先 ...

  2. 【Python可视化】使用Pyecharts进行奥运会可视化分析~

    项目全部代码 & 数据集都可以访问我的KLab --[Pyecharts]奥运会数据集可视化分析-获取,点击Fork即可- 受疫情影响,2020东京奥运会将延期至2021年举行: 虽然延期,但 ...

  3. 如何获取(GET)一杯咖啡——星巴克REST案例分析

    英文原文:How to GET a Cup of Coffee 我们已习惯于在大型中间件平台(比如那些实现CORBA.Web服务协议栈和J2EE的平台)之上构建分布式系统了.在这篇文章里,我们将采取另 ...

  4. 爬虫综合大作业——网易云音乐爬虫 & 数据可视化分析

    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3075 爬虫综合大作业 选择一个热点或者你感兴趣的主题. 选择爬取的对象 ...

  5. 【分享】纯jQuery实现星巴克官网导航栏效果

    前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...

  6. python3 对拉勾数据进行可视化分析

    上回说到我们如何如何把拉勾的数据抓取下来的,既然获取了数据,就别放着不动,把它拿出来分析一下,看看这些数据里面都包含了什么信息.(本次博客源码地址:https://github.com/MaxLyu/ ...

  7. 【方法】纯jQuery实现星巴克官网导航栏效果

    前言 大冬天的没得玩,只能和代码玩. 所以就无聊研究了一下星巴克官网,在我看来应该是基本还原吧~ 请各位大神指教! 官网效果图 要写的就是最上方的会闪现的白色条条 效果分析 1.在滚动条往下拉到一定距 ...

  8. ubuntu之路——day3(本来打算做pytorch的练习 但是想到前段时间的数据预处理的可视化分析 就先总结一下)

    首先依托于一个场景来进行可视化分析 直接选了天池大数据竞赛的新人赛的一个活跃题目 用的方式也是最常用的数据预处理方式 [新人赛]快来一起挖掘幸福感!https://tianchi.aliyun.com ...

  9. python学习笔记(14):可视化分析

    一.Matplotlib 1.用于创建出版质量图表的绘图工具库 2.目的的为Python构建一个Matlab式的绘图接口 3.import matplotlib.pyplot as plt:pyplo ...

随机推荐

  1. Spring Cloud gateway 网关四 动态路由

    微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring C ...

  2. 那些Java架构师必知必会的技术

    Java基础 Java 7 和 Java 8 中的 HashMap原理解析 Java7 和 Java8 中的 ConcurrentHashMap 原理解析 Java中自定义注解 Java函数式编程和l ...

  3. 从V神到以太坊——以太坊发展简史

    以太坊的出现,让人们的认识从比特币飞跃到了区块链本身.使得区块链技术在非金融领域的普遍应用成为可能,同时,也被认为是区块链2.0时代的标志,是区块链技术发展史上重要的里程碑. 以太坊的故事,要从比特币 ...

  4. python学习之【第四篇】:Python中的列表及其所具有的方法

    1.前言 列表是Python中最常用的数据类型之一,是以[ ]括起来,每个元素以逗号隔开,而且里面可以存放各种数据类型,而且列表是有序的,有索引值,可切片,方便取值. 2.创建列表 li = ['he ...

  5. 国际C语言混乱代码大赛优胜作品详解之“A clock in one line”

    原文链接:https://blog.csdn.net/herorenme/article/details/8864351 摘要:IOCCC,即国际混乱C语言代码大赛是一项著名的国际编程赛事迄今已举办2 ...

  6. 大数据之路day04_2--经典bug(equals与==比较不同,break的跳出不同)

    一.equals与==比较不同 在实现某个人去5个商场去购物,控制台输入是否购物(Y/N)的时候,在比较出了问题,发现无论输入什么都是false,后来查阅资料发现,字符串的比较,==和equals不一 ...

  7. 字符串(str)

    把字符连成串串. 在python中⽤用', ", ''', """引起来的内容被称为字符串串. 字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的 ...

  8. 全栈项目|小书架|服务器开发-JWT 详解

    JWT 官方简介:Introduction to JSON Web Tokens 文章基本是官网内容的翻译,英文不错的同学可点击上面的链接直接看英文文档. 什么是 JWT JWT全称是JSON Web ...

  9. 【微信小程序】踩坑指南(持续更新)

    前言 说明: 基于mpvue框架:mpvue官方文档 语法同vue框架:vue官方文档 小程序中会有一些坑点,这里会就工作中遇到的坑一一列举出来 无说明时请直接看代码注释 v-show无法使用在小程序 ...

  10. Windows下搭建远程Linux主机的图形化本地开发环境

    在实际开发中,项目的类生产.生产环境一般都是选择Linux为服务器进行部署. 相应的,我们的开发最好也在Linux环境下进行,否则容易引发其他的问题,比如不同环境下功能不一致.库依赖差异等. 但是Li ...