C题:老外游中国
“数模加油站”团队出品~
问题1:
解题思路:
1、数据准备:
导入352个城市的csv文件,提取每个城市中的100个景点的信息。
将每个景点的评分数据提取出来,形成一个包含35200个景点评分的列表。
2、找出最高评分(Best Score, BS):
遍历所有景点评分,使用一个变量记录当前最高评分。
通过比较每个景点的评分,更新该变量。
3、统计获得最高评分的景点数量:
在第一次遍历评分时,除了记录最高评分外,还可以使用一个计数器来统计获得该最高
评分的景点数量。
如果发现新的最高评分,重置计数器;如果发现评分等于当前最高评分,计数器加一。
4、找出获得最高评分的城市:
使用一个字典或列表来存储每个城市获得最高评分景点的数量。
在遍历评分的同时,记录每个城市获得最高评分的景点。
5、排序并找出前10个城市:
将城市及其获得最高评分景点数量的字典转换为列表并进行排序。
提取前10个城市和它们对应的景点数量。
6、输出结果:
输出最高评分(BS)、获得最高评分景点的总数量以及前10个城市的名称和景点数量。
建模过程:
参考代码:
import numpy as np
import pandas as pd# 假设我们有352个城市和每个城市100个景点的评分
num_cities = 352
num_attractions = 100# 随机生成评分数据(1到10之间的随机整数)
scores = np.random.randint(1, 11, size=(num_cities, num_attractions))# 初始化变量
BS = -np.inf # 最高评分
N_BS = 0 # 获得最高评分的总数量
city_scores = np.zeros(num_cities) # 用于存储每个城市获得最高评分的景点数量# 遍历每个城市
for i in range(num_cities):# 获取当前城市的景点评分current_scores = scores[i, :]# 找到当前城市的最高评分current_max_score = np.max(current_scores)# 更新最高评分和计数if current_max_score > BS:BS = current_max_scoreN_BS = np.sum(current_scores == BS) # 当前城市获得最高评分的景点数量city_scores[i] = N_BS # 记录当前城市数量elif current_max_score == BS:N_BS += np.sum(current_scores == BS) # 更新总数量city_scores[i] += np.sum(current_scores == BS) # 记录当前城市数量# 创建城市编号数组
city_indices = np.arange(1, num_cities + 1)# 创建一个包含城市和对应景点数量的DataFrame
city_data = pd.DataFrame({'CityIndex': city_indices,'AttractionCount': city_scores
})# 筛选获得最高评分的城市
best_cities = city_data[city_data.AttractionCount > 0]# 按照景点数量排序并提取前10个城市
sorted_cities = best_cities.sort_values(by='AttractionCount', ascending=False)
top_10_cities = sorted_cities.head(10)# 输出结果
print(f'最高评分: {BS}')
print(f'获得最高评分的总数量: {N_BS}')
print('获得最高评分的前10个城市及其景点数量:')
print(top_10_cities)
问题2:
解题思路:
1.确定评价指标:
根据“城市最佳景点游览原则”,制定一系列评价指标,包括但不限于:
(1)城市规模:人口、面积等。
(2)环境环保:空气质量、绿地比例、水体污染程度等。
(3)人文底蕴:历史遗迹、文化活动、博物馆数量等。
(4)交通便利:公共交通系统、交通拥堵指数、机场数量等。
(5)气候:年均气温、降水量、旅游旺季等。
(6)美食:当地特色美食的丰富性和多样性。
2.数据收集与整理:
(1)收集352个城市在上述指标上的数据。数据来源可以包括:
政府统计局
国际组织(如联合国、世界卫生组织)
旅游网站和评论(如TripAdvisor等)
本地旅游局或研究机构的报告
(2)将收集到的数据整理成结构化的格式(如CSV文件或数据库)。
3.数据标准化:
因为不同指标的量纲和范围可能不同,需要对数据进行标准化处理,以便进行综合评价。可以考虑使用Z-score标准化或Min-Max归一化。
4.权重分配:
确定各个指标的权重(可以通过专家打分、调查问卷等方式获取),使得某些指标对最终评分的影响更大,以反映外国游客的偏好。
5.综合评分计算:
根据标准化后的数据和权重,计算每个城市的综合评分。可以使用加权平均法:
6.城市排序:
根据综合评分对352个城市进行排序,选择得分最高的前50个城市。
7.结果分析与可视化:
对选出的50个城市进行分析,探讨它们的共同特点。
使用可视化工具(如Matplotlib、Seaborn等)绘制图表,展示评分的分布情况、不同指标的重要性等。
8.撰写报告:
整理分析结果,撰写报告,描述所选城市及其吸引外国游客的原因。可以考虑包含城市的图片、旅游推荐等信息,增强报告的可读性和吸引力。
建模过程:
后续在“数模加油站”~