精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻

💖🔥作者主页:计算机毕设木哥🔥 💖

一、项目介绍

旅游市场持续升温,全国景点数据分散在各平台,指数、价格、销量等信息往往靠人工翻表对比,难以及时看出地域差异与价值结构。游客选目的地、文旅从业者做运营时,缺少一套能把景点指数和多维指标串起来看的工具。本文通过开发一个基于大数据的全国各地景点指数数据可视化分析系统,用以帮助解决景点指数多维对比与价值发现不便的问题。
本系统采用 Hadoop、PySpark、Python、Django、Vue 与 MySQL 完成数据处理与展示,覆盖指数分布、地域分布、景区等级、价格消费、热度销量、点评文本与价值发现共七个分析维度。其中价值发现侧用 K-Means 做景点群体画像,用 TF-IDF 与 NMF 挖点评主题,用 Isolation Forest 识别异常景点,并提供分析页、可视化大屏与景区信息管理等功能。
经过系统测试,本系统能满足计算机专业学生毕设演示、文旅相关学习者做指标对比,以及普通用户查看景点指数与地域热度等需求,对把分散景点数据变成可对比、可复用的可视化结果有一定参考意义。

二、视频展示

计算机毕业设计选题推荐 基于大数据的全国各地景点指数数据分析

计算机毕业设计选题推荐【基于大数据的全国各地景点指数数据可视化分析】

三、开发环境

  • 大数据技术:Hadoop、Spark、Hive
  • 开发技术:Python、Django框架、Vue、Echarts
  • 软件工具:Pycharm、DataGrip、Anaconda
  • 可视化 工具 Echarts

四、系统展示

登录模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

五、代码展示


binned = df.withColumn(
    'interval',
    when(col('score') == 0, lit('无评分'))
    .when((col('score') > 0) & (col('score') < 0.75), lit('0.70-0.75'))
    .when((col('score') >= 0.75) & (col('score') < 0.80), lit('0.75-0.80'))
    .when((col('score') >= 0.80) & (col('score') < 0.85), lit('0.80-0.85'))
    .when((col('score') >= 0.85) & (col('score') < 0.90), lit('0.85-0.90'))
    .when((col('score') >= 0.90) & (col('score') <= 1.00), lit('0.90-1.00'))
    .otherwise(lit('其它'))
)
result = binned.groupBy('interval').agg(spark_count('*').alias('count'))
result_pdf = result.toPandas()
result_pdf.to_csv(csv_path, encoding='utf-8', index=False)
valid_df = df.filter(col('score') > 0)
pdf = valid_df.select('name', 'score', 'price', 'sales', 'province').toPandas()

features = np.column_stack([
    pdf['score'].astype(float).values,
    pdf['price'].astype(float).values,
    np.log1p(pdf['sales'].astype(float).values)
])
features_scaled = StandardScaler().fit_transform(features)

kmeans = KMeans(n_clusters=4, random_state=42, n_init=10)
pdf['cluster'] = kmeans.fit_predict(features_scaled)

# 按簇心 score/sales 相对排序贴中文标签(高指数热门标杆型等)
cluster_centers = pdf.groupby('cluster')[['score', 'price', 'sales']].mean()
score_rank = cluster_centers['score'].rank().astype(int)
sales_rank = cluster_centers['sales'].rank().astype(int)
# ... 映射 cluster_label 后写出 kmeans_cluster_analysis.csv
fetchApi(api) {
  return http.get(`/analysis/${api}`).then(r => {
    const d = r && r.data && r.data.data ? r.data.data : []
    return Array.isArray(d) ? d : []
  }).catch(() => [])
},
renderChart(key, data) {
  const c = this.chartsByKey[key]
  if (!c._echart) c._echart = echarts.init(c._ref)
  if (!data || !data.length) { c._echart.clear(); return }
  let opt = c.buildFn(data, c.params)
  if (c.override) opt = deepMerge(opt, c.override)
  c._echart.setOption(opt, true)
},
async initProvinceCount() {
  const data = await this.fetchApi('province_count')
  this.registerChart('province_count', 'provinceCountChart', buildMap, {
    nameField: 'province', valueField: 'count', mapName: 'china',
    name: '景点数量', theme: 'dark'
  })
  this.renderChart('province_count', data)
}

六、项目文档展示

在这里插入图片描述

七、项目总结

本课题围绕全国景点指数,完成了一套大数据分析与可视化系统。系统基于约 1.3 万条景点数据,用 Hadoop、PySpark 完成清洗与统计,并结合 Django、Vue、MySQL 与 ECharts 做结果展示。分析覆盖指数分布、地域分布、景区等级、价格消费、热度销量、点评文本与价值发现七个维度;其中价值发现侧用 K-Means 做景点分群,用 TF-IDF 与 NMF 挖点评主题,用 Isolation Forest 识别异常景点。前端提供七维分析页与可视化大屏,可直观对比各省指数、热度与消费结构。经测试,系统能支撑毕设演示与景点指数多维对比,对文旅数据可视化有一定参考价值。

大家可以帮忙点赞、收藏、关注、评论啦 👇🏻

💖🔥作者主页:计算机毕设木哥🔥 💖

更多推荐