博客 数据分析实战——星巴克门店数量可视化分析

数据分析实战——星巴克门店数量可视化分析

   数栈君   发表于 2023-06-09 14:45  349  0

星巴克门店分布可视化分析
项目介绍:使用python对星巴克门店分布进行可视化分析
数据背景:数据源来自与Kaggle: Starbucks Locations Worldwide | Kaggle,囊括了截至2017/2月份全球星巴克门店的基础信息,包括品牌名称、门牌地址、所在国家、经纬度等一系列详细的信息。
数据介绍:

字段名称 解释说明
Brand 品牌名称
Store Number 门店编号
Store name 门店名称
Ownership Type 门店所有权类型
Street Address State/Province
City 门店所在的城市
State/Province 门店所在的省份
Country 门店所在的国家
Postcode 门店所在地址的邮政编码
Phone Number 门店的联系电话
Timezone 门店所在地的时区
Longitude 门店地址的经度
Latitude 门店地址的纬度
centered 文本居中 right-aligned 文本居右
任务概述
星巴克旗下有多少个品牌
统计全球有多少个国家开设了星巴克门店,显示排名前五和后十的国家
显示拥有星巴克门店数量前十的城市
按照星巴克在中国的分布情况,统计排名前十的城市
用饼图显示星巴克的经营方式有几种
导入必要的数据包
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
1
2
3
4
读取数据并查看
data = pd.read_csv(r'./Desktop/directory.csv.csv')
data.head()
1
2


查看缺失值
data.isnull().sum()
1

利用isnull()函数对数据进行缺失值统计,可以发现每一列数据的缺失情况,在此数据中city、postcode、phone number字段存在较多缺失值,但本次任务处理的指标与其相关不大,故不对其进行处理

统计星巴克旗下有多少品牌
num = len(data['Brand'].unique())
print('星巴克旗下有%d个品牌'%num)
data['Brand'].value_counts()
1
2
3

利用unique()函数对”Brand‘字段进去去重处理,得到星巴克旗下的品牌数量,再利用value_counts函数对每一个品牌的门店数量进行统计,发现星巴克旗下一共有4个品牌,其中Starbucks门店数量最多,达到了25249家。

打印出全世界一共有多少个国家开设了星巴克门店,显示门店数量排名前5和后10的国家。
country_num = len(data['Country'].unique())
print('全国一共有%d个国家开设了星巴克门店'%country_num)
1
2

接着利用groupby函数对’country‘进行分组聚合,统计门店数量前五的国家,降序排列

dff = data.groupby(["Country"]).size().reset_index()
dff.columns = ['country','number']
dff.sort_values(by = ['number'],ascending = False).head()
1
2
3

果不其然,星巴克的门店数量在美国最多,达到了13608家,是第二名中国的近6倍之多。我们将其可视化为图表显得更为清晰明了。

plt.figure(figsize=(20,8))
plt.bar(top_5.index,top_5,width=0.5,color=['r','g','b','y','m'])
plt.xlabel('国家',fontsize = 20)
plt.ylabel('门店数量',fontsize = 20)
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)
plt.grid(linestyle = '--',alpha = 0.5)
plt.title('星巴克全球门店数量排名前五的国家',fontsize = 20)
plt.show()
1
2
3
4
5
6
7
8
9


全球门店数量最少的十个国家
我们在探究了全球门店数量最多的几个国家之后,也来看看星巴克在哪一些国家的门店数量最少
plt.figure(figsize=(20,8))
plt.bar(tail_10.index,tail_10,color = 'brown')
plt.xlabel('国家',fontsize = 20)
plt.ylabel('门店数量',fontsize = 20)
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)
plt.title('星巴克全球门店数量最少十个国家',fontsize = 20)
plt.show()
1
2
3
4
5
6
7
8

据上图可见,在AD、LU、MC这三个国家的门店数量最少,在AD国家仅仅只有一家门店

显示拥有星巴克门店数量排名前10的城市
在查看了拥有门店数量最多的国家后,我们在再来探究星巴克在全球门店数量最多的10个城市并可视化展示

len(data['City'].unique())
city_count = data['City'].value_counts().head(10)
city_count
1
2
3


plt.figure(figsize=(20,8))
plt.bar(city_count.index,city_count)
plt.xlabel('城市',fontsize = 15)
plt.ylabel('门店数量',fontsize = 15)
plt.xticks(fontsize = 15)
plt.yticks(fontsize = 15)
plt.title('星巴克全球门店数量排名前十的城市',fontsize = 20)
plt.show()
1
2
3
4
5
6
7
8

我们发现,竟然全球门店数量最多的城市是在上海,有542家,不愧是魔都,第二名和第三名是首尔和我们的首都北京,二者数量都差不多。第10名西雅图,是星巴克总部所在地,除了这个原因,也许西雅图程序员也贡献了不少营业额

按照星巴克门店在中国的分布情况,统计排名前10的城市
df = data[data['Country'] =='CN'] #先把中国的门店数据提取出来

df2 = df.groupby(["City"]).size().reset_index()# 利用groupby分组聚合
df2.columns = ['city','number']
df2.sort_values(by = ['number'],ascending = False).head(10)# 按各城市门店数量降序排列 取前十
1
2
3
4
5

毫不意外,发现星巴克在中国门店数量最多的几个城市都是国内gdp高度发达的城市,主要聚集在珠三角,长三角和北京,在这些发达城市才能支撑得起星巴克的高消费,接下来我们可视化展示一下:

plt.figure(figsize=(20,8))
plt.bar(china_city.index,china_city,color = 'c')
plt.xlabel('城市',fontsize = 15)
plt.ylabel('门店数量',fontsize = 15)
plt.xticks(fontsize = 15)
plt.yticks(fontsize = 15)
plt.title('星巴克在中国门店数量排名前十的城市',fontsize=20)
plt.show()
1
2
3
4
5
6
7
8


用饼状图显示星巴克门店的经营方式有几种
#绘制饼图
plt.figure()
plt.pie(work_style,labels=data['Ownership Type'].value_counts().index,autopct='%1.2f%%')
plt.axis('equal')
plt.legend()
plt.title('星巴克的经营方式')
plt.show()
1
2
3
4
5
6
7

星巴克的经营方式主要为四种,其中company owned公司自主经营占了46.6%,将近一半,其次就是Licensed许可经营,占了36.6%,剩余少部分的就是Joint venture和franchise。

总结
本文按照星巴克门店的数量对国家和中国的城市进行排序,主要利用了pandas中DataFrame的groupby方法进行分组聚合,value_counts函数进行值的统计,使用DataFrame.reset_index()方法重新指定索引、sort()方法进行排序以及matplotlib库进行柱状图,饼图的绘制。

  • 免责申明:

    本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

  • 《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu


  • 《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

  • 想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

    同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
    https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群