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

news/2025/2/21 7:26:16/

有一组关于全球星巴克门店的统计数据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()

运行结果:

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


http://www.ppmy.cn/news/1412640.html

相关文章

深入浅出 useEffect:React 函数组件中的副作用处理详解

useEffect 是 React 中的一个钩子函数,用于处理函数组件中的副作用操作,如发送网络请求、订阅消息、手动修改 DOM 等。下面是 useEffect 的用法总结: 基本用法 import React, { useState, useEffect } from react;function Example() {cons…

Windows通过修改host文件加速github访问的配置

修改hosts文件 Windows电脑打开 C:\Windows\System32\drivers\etc文件夹,使用记事本打开hosts文件,添加如下内容。 # GitHub Start # Last update at 2024-04-09 14:42:14 (Beijing Time) 140.82.112.5 api.github.com 185.199.108.153 assets-cdn.gi…

Docker搭建Mariadb

1. Mariadb Docker 镜像功能介绍: MariaDB 是一个开源的关系型数据库管理系统,是 MySQL 的一个分支,兼容性很高,提供了稳定、高性能的数据库服务。Mariadb Docker 镜像将 MariaDB 打包为 Docker 容器,使得在不同的环境…

REST API实战演练之JavaScript使用Rest API

咱们前面讲了一下如何创建REST API 假期别闲着:REST API实战演练之创建Rest API-CSDN博客 又讲了java客户端如何使用REST API 假期别闲着:REST API实战演练之客户端使用Rest API-CSDN博客 接下来咱们看看JavaScript怎么使用REST API。 一、新建一个…

51单片机+TN901非接触式红外测温设计论文与源码PCB等资料

1、摘要 温度测量技术应用十分广泛,而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中,要求测量温度用的传感器不能与被测物体相接触,这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设…

Python学习笔记11 - 列表

1. 列表的创建与删除 2. 列表的查询操作 3. 列表的增、删、改操作 4. 列表元素的排序 5. 列表生成式

React中State管理的4 个关键解决方案

在 React 应用开发中,状态(state)管理是非常重要的一部分。合理地管理状态可以确保组件的行为正确,提高应用的可维护性和性能。然而,在实际使用 React 的 state 时,开发者常常会遇到一些常见的问题和陷阱。 本文将从解决问题的角度,总结 React 中 state 管理的4个关键技巧: 使…

2024 抖音欢笑中国年(三):编辑器技巧与实践

前言 本次春节活动中,我们大部分场景使用内部的 SAR Creator互动方案来实现。 SAR Creator 是一款基于 TypeScript 的高性能、轻量化的互动解决方案,目前支持了Web和字节内部跨端框架平台,服务于字节内部的各种互动业务,包括但不限…