pyecharts实现星巴克门店分布可视化分析

时间:2022-06-10
本文章向大家介绍pyecharts实现星巴克门店分布可视化分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

项目介绍

使用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

image.png

  • 我们可以看见,门店主要还是集中在美洲,亚洲,欧洲,非洲目前只有摩洛哥,埃及南非设有门店。
  • 另外有意思的一点,整个澳大利亚只有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

image.png

  • 毕竟是美国的品牌,美国星巴克门店数量还是远多于其他国家,其次是我们国家,总计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

image.png

  • 排名第一的既不是纽约也不是洛杉矶,而是上海,拥有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

image.png

中国区分布

  • 我们接下来通过热点图看下星巴克门店在中国区内的分布情况;
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

image.png

  • 毫无意外的最红的三个区域——长三角,珠三角北京
  • 中部城市以成都/武汉为首。
  • 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~~~