python数据分析和可视化【4】星巴克数据分析

有一组关于全球星巴克门店的统计数据directory.csv,分析了在不同国家和地区以及中国不同城市的星巴克门店的数量。
要求:
(1)查看星巴克旗下有哪些品牌。如果我们只关心星巴克咖啡门店,则只需获取星巴克中Brand的数据集,并查看全世界一共有多少家星巴克门店。。
(2)查看全世界一共有多少个国家和地区开设了星巴克门店,显示门店数量排名前10和后10的国家和地区。
(3)显示拥有星巴克门店数量排名前10的城市。
(4)用柱状图绘制排名前10的分布,并在图中标注出星巴克门店数量最多的城市
(5)绘制星巴克门店数前10的城市分布柱状图。
(6)按照星巴克门店在中国的分布情况,统计排名前10的城市。
用饼状图显示星巴克门店的经营方式有哪几种?

数据集:
在这里插入图片描述
代码:

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_csv('C:\\Users\86178\Downloads\\directory.csv')

# (1) 查看星巴克旗下有哪些品牌
starbucks_brands = data[data['Brand'] == 'Starbucks']
total_starbucks_stores = starbucks_brands.shape[0]  #获取行数:shape[0]是DataFrame的属性,用于获取数据的行数,即门店数量。
print(f"全世界一共有{total_starbucks_stores}家星巴克门店")

# (2) 查看全世界一共有多少个国家和地区开设了星巴克门店,显示门店数量排名前10和后10的国家和地区
countries_count = starbucks_brands['Country'].nunique() #返回"Country"列中唯一值的数量,即不同国家/地区的数量。
top_countries = starbucks_brands['Country'].value_counts().head(10)
bottom_countries = starbucks_brands['Country'].value_counts().tail(10)
print(f"一共有{countries_count}个国家和地区开设了星巴克门店")
print("门店数量排名前10的国家和地区:")
print(top_countries)
print("门店数量排名后10的国家和地区:")
print(bottom_countries)

# (3) 显示拥有星巴克门店数量排名前10的城市
top_cities = starbucks_brands['City'].value_counts().head(10)
print("拥有星巴克门店数量排名前10的城市:")
print(top_cities)

# (4) 用柱状图绘制排名前10的分布,并在图中标注出星巴克门店数量最多的城市
plt.figure(figsize=(12, 6))

#设置中文字体为黑体

plt.rcParams['font.sans-serif'] = ['SimHei']

top_cities.plot(kind='bar')
plt.xlabel('城市')
plt.ylabel('门店数量')
plt.title('排名前10的城市星巴克门店数量分布')
plt.annotate(f"最多:{top_cities.index[0]}", xy=(0, top_cities.iloc[0]), xytext=(0, top_cities.iloc[0] + 100), arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()

# (5) 绘制星巴克门店数前10的城市分布柱状图
plt.figure(figsize=(12, 6))
top_cities.plot(kind='bar')
plt.xlabel('城市')
plt.ylabel('门店数量')
plt.title('星巴克门店数前10的城市分布')
plt.show()

# (6) 按照星巴克门店在中国的分布情况,统计排名前10的城市
china_cities = starbucks_brands[starbucks_brands['Country'] == 'CN']
top_china_cities = china_cities['City'].value_counts().head(10)
print("中国拥有星巴克门店数量排名前10的城市:")
print(top_china_cities)

# (7) 用饼状图显示星巴克门店的经营方式有哪几种
ownership_types = starbucks_brands['Ownership Type'].value_counts()
plt.figure(figsize=(8, 8))
plt.pie(ownership_types, labels=ownership_types.index, autopct='%1.1f%%')
plt.title('星巴克门店的经营方式分布')
plt.show()

运行结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT牛爷爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值