精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻
💖🔥作者主页 :计算机毕设木哥🔥 💖
文章目录
- 一、项目介绍
- 二、视频展示
- 三、开发环境
- 四、系统展示
- 五、代码展示
- 六、项目文档展示
- 七、项目总结
- [<font color=#fe2c24 >大家可以帮忙点赞、收藏、关注、评论啦 👇🏻](#fe2c24 >大家可以帮忙点赞、收藏、关注、评论啦 👇🏻)
一、项目介绍
水质监测数据逐年增多,单看一个指标很难判断水体整体状态,指标之间又存在复杂的关联关系,传统人工比对方式效率有限。多指标数据分散、达标判定口径不一、潜在异常样本不易被发现,这些问题让水质分析难以形成整体结论。本文通过开发一个基于大数据的水质多指标关联分析与可视化系统,用以帮助解决多指标关联挖掘与风险识别的问题。
系统采用 Hadoop 与 Spark 作为大数据处理框架,用 PySpark 完成缺失值分组中位数填补、标准化与聚合统计,以 MySQL 存储分析结果,前端用 Vue 配合 ECharts 呈现。功能上,系统从指标分布、指标关联、达标评价、饮用判定、指标对比、风险洞察六个维度展开,覆盖九个水质指标的分箱统计、Pearson 相关矩阵与强关联对排序、生活饮用水标准逐项达标率、可饮用与不可饮用两组均值差异、按中位数分组的指标对比,以及 K-Means 聚类、Isolation Forest 异常识别和 PCA 主成分分析。
经过系统测试,本系统能满足水质监测人员和数据分析学习者的日常查看需求,前者可以按维度筛选结果、定位超标指标和异常水样,后者可以借助聚类与主成分结果理解多指标结构。系统把多指标关联、达标判定与无监督算法放进同一套流程,对水质数据的整体研判有一定参考意义。
二、视频展示
基于大数据的水质多指标关联分析与可视化
三、开发环境
- 大数据技术:Hadoop、Spark、Hive
- 开发技术:Python、Django框架、Vue、Echarts
- 软件工具:Pycharm、DataGrip、Anaconda
- 可视化 工具 Echarts
四、系统展示
系统页面模块展示:








五、代码展示
bash
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, when, median, round as spark_round
spark = SparkSession.builder \
.appName("WaterPreprocess") \
.master("local[*]") \
.getOrCreate()
df = spark.read.csv("hdfs:///water/water_potability.csv", header=True, inferSchema=True)
# 数值字段统一 float 强转,避免 Decimal 序列化问题
num_cols = ["ph", "Hardness", "Solids", "Chloramines", "Sulfate",
"Conductivity", "Organic_carbon", "Trihalomethanes", "Turbidity"]
for c in num_cols:
df = df.withColumn(c, col(c).cast("float"))
# ph 与 Sulfate 按 Potability 分组取中位数填补
for c in ["ph", "Sulfate"]:
med = df.groupBy("Potability").agg(median(c).alias("med")).collect()
med_map = {row["Potability"]: row["med"] for row in med}
df = df.withColumn(
c,
when(col(c).isNull(),
when(col("Potability") == 1, med_map[1]).otherwise(med_map[0]))
.otherwise(col(c))
)
# Trihalomethanes 缺失率低于 5%,用全局中位数填补
thm_med = df.approxQuantile("Trihalomethanes", [0.5], 0.01)[0]
df = df.fillna({"Trihalomethanes": thm_med})
# 所有数值字段保留两位小数后落盘
for c in num_cols:
df = df.withColumn(c, spark_round(col(c), 2))
df.write.mode("overwrite").option("header", True) \
.csv("hdfs:///water/output/water_preprocessed_data.csv")
六、项目文档展示

七、项目总结
本文围绕基于大数据的水质多指标关联分析与可视化的设计与实现展开,针对水质监测中单指标判断片面、指标关联关系不清晰、达标判定与异常识别依赖人工等问题,构建了一套从数据预处理到多维分析再到可视化呈现的完整链路。系统以 Hadoop 与 Spark 作为大数据处理框架,用 PySpark 完成缺失值分组中位数填补、标准化与聚合统计,以 MySQL 存储各维度分析结果,前端用 Vue 配合 ECharts 实现大屏展示,并采用 K-Means、Isolation Forest、PCA 三种无监督算法支撑风险洞察。功能上覆盖指标分布、指标关联、达标评价、饮用判定、指标对比、风险洞察六个维度,具体包括九个水质指标的分箱统计、Pearson 相关矩阵与强关联对排序、生活饮用水标准逐项达标率、可饮用与不可饮用两组均值差异、按中位数分组的指标对比,以及样本聚类画像、多维异常水样识别和主成分载荷分析,同时配合双角色登录,管理员额外拥有用户管理与数据管理权限。通过本课题的实现,水质监测人员可以按维度筛选结果、定位超标指标与异常水样,数据分析学习者也能借助聚类与主成分结果理解多指标结构,对多指标水质数据的整体研判与风险预警具有一定参考价值。
大家可以帮忙点赞、收藏、关注、评论啦 👇🏻
💖🔥作者主页 :计算机毕设木哥🔥 💖