Spark毕业设计项目:校园霸凌数据分析系统大数据处理与可视化展示技术详解

63 阅读12分钟

🍊作者:计算机毕设匠心工作室

🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。

擅长:按照需求定制化开发项目、 源码、对代码进行完整讲解、文档撰写、ppt制作。

🍊心愿:点赞 👍 收藏 ⭐评论 📝

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~

Java实战项目

Python实战项目

微信小程序|安卓实战项目

大数据实战项目

PHP|C#.NET|Golang实战项目

🍅 ↓↓文末获取源码联系↓↓🍅

基于大数据的校园霸凌数据可视化分析系统-功能介绍

基于大数据的校园霸凌数据可视化分析系统是一个集数据采集、处理、分析与可视化于一体的综合性平台,专门针对校园霸凌现象进行深度数据挖掘和多维度分析。系统采用Hadoop+Spark大数据技术架构作为核心处理引擎,能够高效处理海量的校园霸凌相关数据,通过Spark SQL进行复杂的数据查询和统计分析。后端基于Django框架构建RESTful API接口,结合MySQL数据库进行数据持久化存储,前端采用Vue+ElementUI+Echarts技术栈实现响应式的数据可视化界面。系统从霸凌现状基础分析、人口统计学特征关联、霸凌影响因素以及体重状况关系等四个核心维度进行数据分析,能够生成包括霸凌发生率统计、不同类型霸凌分布对比、年龄性别关联分析、心理健康影响评估等多种可视化图表,为教育管理者提供科学的数据支撑和决策参考,助力构建更加安全和谐的校园环境。

基于大数据的校园霸凌数据可视化分析系统-选题背景意义

选题背景 校园霸凌作为一种普遍存在的校园暴力现象,近年来在全球范围内受到了教育界和社会各界的广泛关注。随着信息技术的快速发展,霸凌形式也从传统的面对面身体和言语攻击扩展到网络空间,呈现出更加复杂多样的特征。传统的校园霸凌研究主要依赖问卷调查和个案访谈等方法,数据处理能力有限,难以从大规模数据中发现深层次的规律和关联性。而大数据技术的兴起为校园霸凌研究提供了新的技术手段,通过对海量数据的挖掘分析,可以更准确地识别霸凌发生的模式、特征和影响因素。当前教育管理部门迫切需要一套能够整合多源数据、进行智能分析并提供直观可视化展示的技术平台,以便更好地理解校园霸凌现象的本质,制定更有针对性的预防和干预策略。 选题意义 本课题的研究具有重要的理论价值和实践意义。从理论角度来看,运用大数据分析技术对校园霸凌现象进行系统性研究,有助于深化对霸凌发生机制和影响因素的认识,为相关理论研究提供数据支撑和方法创新。从技术实践角度,系统整合了Hadoop、Spark、Django、Vue等主流技术栈,在大数据处理、Web开发和数据可视化方面提供了完整的解决方案,对于推动教育信息化建设具有一定的参考价值。从应用角度来说,系统能够帮助学校管理者和教育工作者更直观地了解校园霸凌现状,识别高风险群体和关键影响因素,为制定精准化的预防措施和干预策略提供科学依据。同时,系统的多维度分析功能也为心理健康教育、学生管理工作提供了数据参考,有助于构建更加全面的校园安全保障体系。虽然作为毕业设计项目,系统在功能复杂度和数据规模方面相对有限,但其设计理念和技术实现为后续的深入研究和实际应用奠定了基础。

基于大数据的校园霸凌数据可视化分析系统-技术选型

大数据框架:Hadoop+Spark(本次没用Hive,支持定制) 开发语言:Python+Java(两个版本都支持) 后端框架:Django+Spring Boot(Spring+SpringMVC+Mybatis)(两个版本都支持) 前端:Vue+ElementUI+Echarts+HTML+CSS+JavaScript+jQuery 详细技术点:Hadoop、HDFS、Spark、Spark SQL、Pandas、NumPy 数据库:MySQL

基于大数据的校园霸凌数据可视化分析系统-视频展示

基于大数据的校园霸凌数据可视化分析系统-视频展示

基于大数据的校园霸凌数据可视化分析系统-图片展示

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

基于大数据的校园霸凌数据可视化分析系统-代码展示

from pyspark.sql import SparkSession
from pyspark.sql.functions import col, count, when, sum as spark_sum, avg, desc, asc
from pyspark.sql.types import StructType, StructField, StringType, IntegerType, FloatType
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
import json
import pandas as pd
import numpy as np

spark = SparkSession.builder.appName("CampusBullyingAnalysis").config("spark.sql.adaptive.enabled", "true").config("spark.sql.adaptive.coalescePartitions.enabled", "true").getOrCreate()

@csrf_exempt
def bullying_status_analysis(request):
    df = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/bullying_db").option("driver", "com.mysql.cj.jdbc.Driver").option("dbtable", "bullying_data").option("user", "root").option("password", "password").load()
    campus_bullying_rate = df.filter(col("campus_bullying") == "Yes").count() / df.count() * 100
    online_bullying_rate = df.filter(col("online_bullying") == "Yes").count() / df.count() * 100
    offline_bullying_rate = df.filter(col("offline_bullying") == "Yes").count() / df.count() * 100
    total_bullying_cases = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).count()
    multiple_bullying_cases = df.filter((col("campus_bullying") == "Yes") & (col("online_bullying") == "Yes")).count()
    bullying_frequency_stats = df.groupBy("campus_bullying", "online_bullying", "offline_bullying").count().orderBy(desc("count"))
    physical_attack_correlation = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).filter(col("physical_attack") == "Yes").count()
    loneliness_analysis = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("loneliness_level").count().orderBy(desc("count"))
    gender_bullying_cross = df.groupBy("gender").agg(spark_sum(when(col("campus_bullying") == "Yes", 1).otherwise(0)).alias("campus_cases"), spark_sum(when(col("online_bullying") == "Yes", 1).otherwise(0)).alias("online_cases"), spark_sum(when(col("offline_bullying") == "Yes", 1).otherwise(0)).alias("offline_cases"))
    age_bullying_distribution = df.groupBy("age_group").agg(spark_sum(when((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes"), 1).otherwise(0)).alias("total_bullying_cases"), count("*").alias("total_students")).withColumn("bullying_rate", col("total_bullying_cases") / col("total_students") * 100)
    psychological_impact_stats = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).agg(avg(when(col("loneliness_level") == "High", 1).otherwise(0)).alias("high_loneliness_rate"), avg(when(col("depression_level") == "Severe", 1).otherwise(0)).alias("severe_depression_rate"))
    academic_impact_analysis = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).agg(avg("absence_days").alias("avg_absence_days"), avg(when(col("unauthorized_absence") == "Yes", 1).otherwise(0)).alias("unauthorized_absence_rate"))
    family_support_correlation = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("parental_understanding").count().orderBy(desc("count"))
    result_data = {"campus_bullying_rate": round(campus_bullying_rate, 2), "online_bullying_rate": round(online_bullying_rate, 2), "offline_bullying_rate": round(offline_bullying_rate, 2), "total_cases": total_bullying_cases, "multiple_cases": multiple_bullying_cases, "frequency_stats": [{"combination": f"{row.campus_bullying}-{row.online_bullying}-{row.offline_bullying}", "count": row.count} for row in bullying_frequency_stats.collect()], "physical_correlation": physical_attack_correlation, "loneliness_analysis": [{"level": row.loneliness_level, "count": row.count} for row in loneliness_analysis.collect()], "gender_analysis": [{"gender": row.gender, "campus_cases": row.campus_cases, "online_cases": row.online_cases, "offline_cases": row.offline_cases} for row in gender_bullying_cross.collect()], "age_distribution": [{"age_group": row.age_group, "bullying_rate": round(row.bullying_rate, 2), "total_cases": row.total_bullying_cases} for row in age_bullying_distribution.collect()], "psychological_impact": {"high_loneliness_rate": round(psychological_impact_stats.collect()[0].high_loneliness_rate * 100, 2), "severe_depression_rate": round(psychological_impact_stats.collect()[0].severe_depression_rate * 100, 2)}, "academic_impact": {"avg_absence_days": round(academic_impact_analysis.collect()[0].avg_absence_days, 2), "unauthorized_absence_rate": round(academic_impact_analysis.collect()[0].unauthorized_absence_rate * 100, 2)}, "family_support": [{"level": row.parental_understanding, "count": row.count} for row in family_support_correlation.collect()]}
    return JsonResponse({"status": "success", "data": result_data})

@csrf_exempt
def demographic_bullying_analysis(request):
    df = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/bullying_db").option("driver", "com.mysql.cj.jdbc.Driver").option("dbtable", "bullying_data").option("user", "root").option("password", "password").load()
    gender_age_cross_analysis = df.groupBy("gender", "age_group").agg(spark_sum(when((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes"), 1).otherwise(0)).alias("bullying_cases"), count("*").alias("total_count")).withColumn("bullying_rate", col("bullying_cases") / col("total_count") * 100).orderBy("gender", "age_group")
    age_specific_bullying_types = df.groupBy("age_group").agg(spark_sum(when(col("campus_bullying") == "Yes", 1).otherwise(0)).alias("campus_bullying"), spark_sum(when(col("online_bullying") == "Yes", 1).otherwise(0)).alias("online_bullying"), spark_sum(when(col("offline_bullying") == "Yes", 1).otherwise(0)).alias("offline_bullying")).orderBy("age_group")
    gender_psychological_impact = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("gender").agg(avg(when(col("loneliness_level") == "High", 1).otherwise(0)).alias("high_loneliness_rate"), avg(when(col("loneliness_level") == "Medium", 1).otherwise(0)).alias("medium_loneliness_rate"), avg(when(col("always_lonely") == "Yes", 1).otherwise(0)).alias("always_lonely_rate"))
    high_risk_demographic_clusters = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("gender", "age_group").agg(count("*").alias("victim_count"), avg(when(col("physical_attack") == "Yes", 1).otherwise(0)).alias("physical_attack_rate"), avg(when(col("loneliness_level") == "High", 1).otherwise(0)).alias("severe_psychological_impact_rate")).filter(col("victim_count") >= 5).orderBy(desc("victim_count"))
    age_gender_intervention_priority = df.groupBy("gender", "age_group").agg(spark_sum(when((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes"), 1).otherwise(0)).alias("total_bullying_cases"), spark_sum(when((col("campus_bullying") == "Yes") & (col("physical_attack") == "Yes"), 1).otherwise(0)).alias("violent_cases"), spark_sum(when((col("campus_bullying") == "Yes") & (col("loneliness_level") == "High"), 1).otherwise(0)).alias("high_psychological_impact_cases")).withColumn("intervention_score", col("total_bullying_cases") * 0.4 + col("violent_cases") * 0.4 + col("high_psychological_impact_cases") * 0.2).orderBy(desc("intervention_score"))
    demographic_social_support_analysis = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("gender", "age_group").agg(avg(when(col("close_friends") >= 3, 1).otherwise(0)).alias("adequate_friendship_rate"), avg(when(col("peer_support") == "High", 1).otherwise(0)).alias("high_peer_support_rate"), avg(when(col("parental_understanding") == "High", 1).otherwise(0)).alias("high_family_support_rate"))
    bullying_persistence_by_demographics = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("gender", "age_group").agg(avg(when((col("campus_bullying") == "Yes") & (col("online_bullying") == "Yes"), 1).otherwise(0)).alias("multiple_environment_bullying_rate"), avg("bullying_duration_months").alias("avg_bullying_duration"))
    demographic_coping_strategies = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("gender", "age_group").agg(avg(when(col("physical_confrontation") == "Yes", 1).otherwise(0)).alias("physical_confrontation_rate"), avg(when(col("absence_due_to_bullying") == "Yes", 1).otherwise(0)).alias("avoidance_rate"), avg(when(col("seek_help") == "Yes", 1).otherwise(0)).alias("help_seeking_rate"))
    vulnerable_group_identification = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).filter((col("loneliness_level") == "High") & (col("peer_support") == "Low") & (col("parental_understanding") == "Low")).groupBy("gender", "age_group").count().orderBy(desc("count"))
    result_data = {"gender_age_analysis": [{"gender": row.gender, "age_group": row.age_group, "bullying_rate": round(row.bullying_rate, 2), "cases": row.bullying_cases} for row in gender_age_cross_analysis.collect()], "age_bullying_types": [{"age_group": row.age_group, "campus": row.campus_bullying, "online": row.online_bullying, "offline": row.offline_bullying} for row in age_specific_bullying_types.collect()], "gender_psychological": [{"gender": row.gender, "high_loneliness": round(row.high_loneliness_rate * 100, 2), "medium_loneliness": round(row.medium_loneliness_rate * 100, 2), "always_lonely": round(row.always_lonely_rate * 100, 2)} for row in gender_psychological_impact.collect()], "high_risk_clusters": [{"gender": row.gender, "age_group": row.age_group, "victim_count": row.victim_count, "physical_attack_rate": round(row.physical_attack_rate * 100, 2), "psychological_impact_rate": round(row.severe_psychological_impact_rate * 100, 2)} for row in high_risk_demographic_clusters.collect()], "intervention_priority": [{"gender": row.gender, "age_group": row.age_group, "total_cases": row.total_bullying_cases, "violent_cases": row.violent_cases, "psychological_cases": row.high_psychological_impact_cases, "priority_score": round(row.intervention_score, 2)} for row in age_gender_intervention_priority.collect()[:10]], "social_support": [{"gender": row.gender, "age_group": row.age_group, "friendship_rate": round(row.adequate_friendship_rate * 100, 2), "peer_support_rate": round(row.high_peer_support_rate * 100, 2), "family_support_rate": round(row.high_family_support_rate * 100, 2)} for row in demographic_social_support_analysis.collect()], "bullying_persistence": [{"gender": row.gender, "age_group": row.age_group, "multiple_env_rate": round(row.multiple_environment_bullying_rate * 100, 2), "avg_duration": round(row.avg_bullying_duration, 1)} for row in bullying_persistence_by_demographics.collect()], "coping_strategies": [{"gender": row.gender, "age_group": row.age_group, "confrontation_rate": round(row.physical_confrontation_rate * 100, 2), "avoidance_rate": round(row.avoidance_rate * 100, 2), "help_seeking_rate": round(row.help_seeking_rate * 100, 2)} for row in demographic_coping_strategies.collect()], "vulnerable_groups": [{"gender": row.gender, "age_group": row.age_group, "count": row.count} for row in vulnerable_group_identification.collect()]}
    return JsonResponse({"status": "success", "data": result_data})

@csrf_exempt
def weight_bullying_correlation_analysis(request):
    df = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/bullying_db").option("driver", "com.mysql.cj.jdbc.Driver").option("dbtable", "bullying_data").option("user", "root").option("password", "password").load()
    weight_status_bullying_risk = df.groupBy("weight_status").agg(spark_sum(when((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes"), 1).otherwise(0)).alias("bullying_victims"), count("*").alias("total_students")).withColumn("bullying_risk_rate", col("bullying_victims") / col("total_students") * 100).orderBy(desc("bullying_risk_rate"))
    weight_bullying_type_correlation = df.groupBy("weight_status").agg(spark_sum(when(col("campus_bullying") == "Yes", 1).otherwise(0)).alias("campus_bullying_cases"), spark_sum(when(col("online_bullying") == "Yes", 1).otherwise(0)).alias("online_bullying_cases"), spark_sum(when(col("offline_bullying") == "Yes", 1).otherwise(0)).alias("offline_bullying_cases"), count("*").alias("total_count")).withColumn("campus_rate", col("campus_bullying_cases") / col("total_count") * 100).withColumn("online_rate", col("online_bullying_cases") / col("total_count") * 100).withColumn("offline_rate", col("offline_bullying_cases") / col("total_count") * 100)
    weight_psychological_double_burden = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("weight_status").agg(avg(when(col("loneliness_level") == "High", 1).otherwise(0)).alias("high_loneliness_rate"), avg(when(col("always_lonely") == "Yes", 1).otherwise(0)).alias("chronic_loneliness_rate"), avg(when(col("depression_level") == "Severe", 1).otherwise(0)).alias("severe_depression_rate"), avg(when(col("anxiety_level") == "High", 1).otherwise(0)).alias("high_anxiety_rate"))
    weight_social_support_network = df.groupBy("weight_status").agg(avg("close_friends").alias("avg_close_friends"), avg(when(col("peer_support") == "High", 1).otherwise(0)).alias("high_peer_support_rate"), avg(when(col("peer_kindness") == "Frequent", 1).otherwise(0)).alias("frequent_peer_kindness_rate"), avg(when(col("social_inclusion") == "High", 1).otherwise(0)).alias("high_social_inclusion_rate"))
    weight_bullying_coping_mechanisms = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("weight_status").agg(avg(when(col("physical_confrontation") == "Yes", 1).otherwise(0)).alias("physical_confrontation_rate"), avg("unauthorized_absence_days").alias("avg_absence_days"), avg(when(col("seek_adult_help") == "Yes", 1).otherwise(0)).alias("help_seeking_rate"), avg(when(col("self_harm") == "Yes", 1).otherwise(0)).alias("self_harm_rate"))
    weight_academic_impact_severity = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("weight_status").agg(avg("academic_performance_drop").alias("avg_performance_drop"), avg(when(col("school_avoidance") == "Frequent", 1).otherwise(0)).alias("frequent_avoidance_rate"), avg("concentration_difficulty_score").alias("avg_concentration_difficulty"))
    weight_bullying_severity_analysis = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("weight_status").agg(avg("bullying_frequency_per_week").alias("avg_weekly_frequency"), avg("bullying_duration_months").alias("avg_duration_months"), avg(when(col("physical_violence") == "Yes", 1).otherwise(0)).alias("physical_violence_rate"), avg(when(col("verbal_abuse_severity") == "High", 1).otherwise(0)).alias("severe_verbal_abuse_rate"))
    weight_recovery_resilience_factors = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("weight_status").agg(avg(when(col("family_support") == "High", 1).otherwise(0)).alias("high_family_support_rate"), avg(when(col("teacher_intervention") == "Effective", 1).otherwise(0)).alias("effective_teacher_support_rate"), avg(when(col("counseling_participation") == "Active", 1).otherwise(0)).alias("counseling_participation_rate"))
    weight_long_term_impact_prediction = df.filter((col("campus_bullying") == "Yes") | (col("online_bullying") == "Yes") | (col("offline_bullying") == "Yes")).groupBy("weight_status").agg(avg(when((col("loneliness_level") == "High") & (col("peer_support") == "Low"), 1).otherwise(0)).alias("high_risk_isolation_rate"), avg(when((col("physical_violence") == "Yes") & (col("family_support") == "Low"), 1).otherwise(0)).alias("severe_impact_risk_rate"))
    result_data = {"weight_bullying_risk": [{"weight_status": row.weight_status, "victims": row.bullying_victims, "total": row.total_students, "risk_rate": round(row.bullying_risk_rate, 2)} for row in weight_status_bullying_risk.collect()], "bullying_type_correlation": [{"weight_status": row.weight_status, "campus_rate": round(row.campus_rate, 2), "online_rate": round(row.online_rate, 2), "offline_rate": round(row.offline_rate, 2), "campus_cases": row.campus_bullying_cases, "online_cases": row.online_bullying_cases, "offline_cases": row.offline_bullying_cases} for row in weight_bullying_type_correlation.collect()], "psychological_burden": [{"weight_status": row.weight_status, "high_loneliness": round(row.high_loneliness_rate * 100, 2), "chronic_loneliness": round(row.chronic_loneliness_rate * 100, 2), "severe_depression": round(row.severe_depression_rate * 100, 2), "high_anxiety": round(row.high_anxiety_rate * 100, 2)} for row in weight_psychological_double_burden.collect()], "social_support": [{"weight_status": row.weight_status, "avg_friends": round(row.avg_close_friends, 1), "peer_support_rate": round(row.high_peer_support_rate * 100, 2), "peer_kindness_rate": round(row.frequent_peer_kindness_rate * 100, 2), "social_inclusion_rate": round(row.high_social_inclusion_rate * 100, 2)} for row in weight_social_support_network.collect()], "coping_mechanisms": [{"weight_status": row.weight_status, "confrontation_rate": round(row.physical_confrontation_rate * 100, 2), "avg_absence_days": round(row.avg_absence_days, 1), "help_seeking_rate": round(row.help_seeking_rate * 100, 2), "self_harm_rate": round(row.self_harm_rate * 100, 2)} for row in weight_bullying_coping_mechanisms.collect()], "academic_impact": [{"weight_status": row.weight_status, "performance_drop": round(row.avg_performance_drop, 2), "avoidance_rate": round(row.frequent_avoidance_rate * 100, 2), "concentration_difficulty": round(row.avg_concentration_difficulty, 2)} for row in weight_academic_impact_severity.collect()], "bullying_severity": [{"weight_status": row.weight_status, "weekly_frequency": round(row.avg_weekly_frequency, 1), "duration_months": round(row.avg_duration_months, 1), "physical_violence_rate": round(row.physical_violence_rate * 100, 2), "severe_verbal_rate": round(row.severe_verbal_abuse_rate * 100, 2)} for row in weight_bullying_severity_analysis.collect()], "resilience_factors": [{"weight_status": row.weight_status, "family_support_rate": round(row.high_family_support_rate * 100, 2), "teacher_support_rate": round(row.effective_teacher_support_rate * 100, 2), "counseling_rate": round(row.counseling_participation_rate * 100, 2)} for row in weight_recovery_resilience_factors.collect()], "long_term_prediction": [{"weight_status": row.weight_status, "isolation_risk": round(row.high_risk_isolation_rate * 100, 2), "severe_impact_risk": round(row.severe_impact_risk_rate * 100, 2)} for row in weight_long_term_impact_prediction.collect()]}
    return JsonResponse({"status": "success", "data": result_data})

基于大数据的校园霸凌数据可视化分析系统-结语

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~

Java实战项目

Python实战项目

微信小程序|安卓实战项目

大数据实战项目

PHP|C#.NET|Golang实战项目

🍅 主页获取源码联系🍅