用Python分析告诉你:一个城市麦当劳的数量和什么有关!

本文通过分析中国各大城市麦当劳店铺数量,探讨城市等级、GDP及人口数对其分布的影响。研究发现,城市等级和GDP与麦当劳店铺数量呈正相关,而人口数的影响相对较小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

前几天,小编跟着两个朋友,在深圳的商圈逛了逛,沿途看见了好几家麦当劳,他们两就随意的说了说,麦当劳数量有点多呢,到底是为什么呢? 一个城市的麦当劳数量和什么有关呢? GDP? 等级? 人口数? 。 。 。 。

为了更有理有据的说明,小编选取了 GDP,城市等级,人口数三个指标初步探一探城市麦当劳数的多少和什么有关

 

二、源码获取

 

三、数据获取

麦当劳店铺名和所在城市

https://www.mcdonalds.com.cn/index/Quality/publicinfo/deliveryinfo?data%5BSearch%5D%5Bcity%5D=

2019 城市排行

http://www.zuihaodaxue.com/news/20190525-1003.html

GDP,人口

http://caifuhao.eastmoney.com/news/20190201115604564011000

从上面三个链接获取,店名,所在城市,GDP,城市等级,人口数

网页都比较简单静态的,爬虫正则直接提取

城市店铺数

此图列举了麦当劳在中国城市所有店铺数各个城市的数量有多少,从图可看出,‘北上广深’麦当劳数可是都在 100 以上,稳居前四,而且他们都是一线大城市呢,紧随其后的一些城市麦当劳数也在两位数,会不会与城市等级有关呢?

四、城市等级对应麦当劳占比

从上图看出,全国城市等级所对应的麦当劳占比,一线,二线,三线,四线,五线,一次递减,一线城市拥有的麦当劳数时最多的,从而验证了我们的想法,城市等级越高,麦当劳数也相应的多一些

五、GDP&店铺数

GDP 看来也是一个影响一个城市麦当劳数的因素呀,从图看出,GDP 与麦当劳数呈正相关,一个城市的 GDP 是衡量一个城市经济水平的因素,看来也可以衡量是否能吸引更多的像麦当劳一样的企业进驻此城市

六、人口数&店铺数

呃呃呃,看来人口的多少与店铺数关联不是很大,人口 0-500 万左右的店铺数基本都不超过 50 家

七、结论

仅从城市等级,GDP 等级看, GDP 越高,相应的店铺数也会多一些,但人口数的多少对麦当劳的店铺数影响不是很大

除此之外,还没有考虑每个城市相关的政策之类的因素

生活中更多有趣结论等你探索~

 

内容概要:文章详细介绍了电梯门禁(梯控)系统的硬件安装与接线要点。首先强调了梯控板与楼层按键对接的重要性,包括遵循一一对应原则以避免错层、越层问题,允许空层存在以适应实际需求。接着阐述了同接线方式(COM、NO、NC端口的同组合)对用户权限的影响,如单层权限用户刷卡直达指定楼层,多层权限用户在特定接线方式下的操作限制。硬件安装方面,强调了无源干触点设计原则以确保电气隔离,防止系统间干扰,以及读卡器接入时的规范要求。文章还介绍了梯控系统的技术原理,如身份验证机制(二维码/IC卡/人脸识别)、消防联动功能(紧急情况下释放所有楼层权限),并指出该系统适用于小区、写字楼等场景,支持机器人乘梯SDK扩展。最后,根据同场景需求提出了适用的接线方式选择,如严格管控场景下选择4.3接线以实现精准权限控制,限制多层用户手动选层场景下选择4.1接线并配合软件权限设置。; 适合人群:从事电梯安装维护的技术人员、楼宇自动化工程师及相关领域的管理人员。; 使用场景及目标:①指导技术人员正确安装接线梯控系统,确保系统安全稳定运行;②帮助管理人员了解同接线方式对用户权限的影响,以便根据实际需求选择合适的配置方案;③提升楼宇安全管理服务质量,特别是在小区、写字楼等场所的应用。; 其他说明:梯控系统的正确安装接线仅关系到系统的正常运作,更直接影响到用户的安全使用体验。因此,在实际操作中务必严格按照规范执行,同时关注最新的技术发展应用场景变化,以确保系统始终处于最佳状态。
from pyspark.sql import SparkSession from pyspark.sql.functions import col, avg, count, sum # 创建SparkSession spark = SparkSession.builder.appName("RestaurantAnalysis").getOrCreate() # 模拟餐饮数据 data = [ (1, "肯德基", "浦东新区", "快餐", 35, 1200), (2, "麦当劳", "浦东新区", "快餐", 40, 1500), (3, "真功夫", "浦东新区", "快餐", 30, 800), (4, "永大王", "浦东新区", "快餐", 25, 600), (5, "汉堡王", "浦东新区", "快餐", 45, 1800), (6, "海底捞", "浦东新区", "火锅", 120, 5000), (7, "王品牛排", "浦东新区", "西餐", 350, 3000), (8, "珍宝海鲜", "浦东新区", "海鲜", 280, 2500), (9, "新荣记", "浦东新区", "海鲜", 450, 3500), (10, "鼎泰丰", "浦东新区", "中餐", 100, 2000), # 其他行政区数据... (11, "小南国", "黄浦区", "中餐", 150, 2800), (12, "大董", "黄浦区", "中餐", 400, 3200), (13, "全聚德", "黄浦区", "中餐", 180, 2400), (14, "西贝莜面村", "静安区", "中餐", 80, 1800), (15, "外婆家", "静安区", "中餐", 70, 1600) ] columns = ["id", "name", "district", "category", "avg_price", "review_count"] # 创建DataFrame restaurants = spark.createDataFrame(data, columns) # 1. 查询浦东新区的快餐数据(5条) fastfood_pudong = restaurants.filter( (col("district") == "浦东新区") & (col("category") == "快餐") ).limit(5) print("=== 浦东新区快餐数据(5条) ===") fastfood_pudong.show() # 2. 查询海鲜餐馆中人均最贵的5家 expensive_seafood = restaurants.filter( col("category") == "海鲜" ).orderBy(col("avg_price").desc()).limit(5) print("\n=== 人均最贵的海鲜餐馆(5条) ===") expensive_seafood.show() # 3. 按行政区分组统计 district_stats = restaurants.groupBy("district").agg( count("id").alias("restaurant_count"), avg("avg_price").alias("avg_price"), sum("review_count").alias("total_reviews") ) print("\n=== 按行政区统计结果 ===") district_stats.show() # 停止Spark spark.stop()
06-09
### 使用 PySpark SQL 对餐饮数据进行分析的示例代码 以下是一个完整的示例,展示如何使用 PySpark SQL 对餐饮数据进行查询分析。假设我们有一个包含餐饮数据的 CSV 文件,其中包含餐厅名称、评分、评论数量、地理位置等字段。 ```python # 导入必要的库 from pyspark.sql import SparkSession from pyspark.sql.functions import col, avg, count, desc # 创建 SparkSession spark = SparkSession.builder \ .appName("RestaurantDataAnalysis") \ .getOrCreate() # 读取餐饮数据(假设数据存储在名为 'restaurants.csv' 的文件中) df = spark.read.format("csv") \ .option("header", "true") \ .option("inferSchema", "true") \ .load("restaurants.csv") # 显示前几行数据以检查加载情况 df.show(5) # 数据清洗:删除评分小于0的异常值[^1] cleaned_df = df.filter(col("rating") >= 0) # 统计每个城市的平均评分评论数量 city_stats = cleaned_df.groupBy("city").agg( avg("rating").alias("avg_rating"), count("review_count").alias("total_reviews") ).orderBy(desc("avg_rating")) # 显示结果 city_stats.show() # 查询评分最高的前10家餐厅 top_restaurants = cleaned_df.orderBy(col("rating").desc()).limit(10) top_restaurants.show() # 保存分析结果到 Hive 表中 city_stats.write.mode("overwrite").saveAsTable("city_statistics") # 停止 SparkSession spark.stop() ``` #### 说明 - **创建 SparkSession**:通过 `SparkSession` 初始化 Spark 环境,这是 PySpark SQL 的入口点。 - **读取数据**:使用 `spark.read.format("csv")` 方法从 CSV 文件中读取数据,并设置 `header` `inferSchema` 参数以便自动解析列名数据类型。 - **数据清洗**:通过 `filter` 方法删除评分小于 0 的异常值[^1]。 - **统计分析**:使用 `groupBy` 聚合函数计算每个城市的平均评分总评论数。 - **排序与限制**:通过 `orderBy` `limit` 方法获取评分最高的前 10 家餐厅。 - **保存结果**:将分析结果保存到 Hive 表中,便于后续复杂查询数据分析[^4]。 #### 注意事项 - 在实际应用中,可能需要对数据进行更复杂的清洗操作,例如处理缺失值或标准化时间戳格式[^1]。 - 如果数据存储在 HDFS 或其他分布式存储系统中,可以相应调整数据路径。 - 使用 Hive 表可以方便地进行后续的复杂查询分析[^4]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值