💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目
基于大数据的人体体能活动能量消耗数据分析系统介绍
人体体能活动能量消耗数据分析系统是一套基于Hadoop+Spark大数据技术栈构建的综合性数据分析平台,专门针对人体运动过程中的能量消耗情况进行深度挖掘和智能分析。系统采用Python作为主要开发语言,后端框架选用Django,前端采用Vue+ElementUI+Echarts技术组合,实现了从数据采集、存储、处理到可视化展示的完整闭环。系统核心功能涵盖体能数据管理、体能活动能量分析、多维度综合数据分析、人口统计学特征分析、设备实时监测数据分析以及人体生理指标数据分析等模块,通过Spark SQL进行大规模数据查询优化,结合Pandas和NumPy进行精确的数学计算和统计分析,能够为用户提供全方位的体能活动能量消耗洞察,支持个性化的健康管理决策和运动方案制定。
基于大数据的人体体能活动能量消耗数据分析系统演示视频
基于大数据的人体体能活动能量消耗数据分析系统演示图片
基于大数据的人体体能活动能量消耗数据分析系统代码展示
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, avg, sum, count, when, desc
from django.http import JsonResponse
from django.views.decorators.http import require_http_methods
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
import json
# 体能活动能量分析核心功能
@require_http_methods(["GET", "POST"])
def analyze_energy_consumption(request):
spark = SparkSession.builder.appName("EnergyConsumptionAnalysis").config("spark.sql.adaptive.enabled", "true").getOrCreate()
if request.method == "POST":
user_id = request.POST.get('user_id')
start_date = request.POST.get('start_date')
end_date = request.POST.get('end_date')
activity_type = request.POST.get('activity_type', 'all')
df = spark.sql(f"SELECT * FROM fitness_data WHERE user_id = {user_id} AND activity_date BETWEEN '{start_date}' AND '{end_date}'")
if activity_type != 'all':
df = df.filter(col("activity_type") == activity_type)
total_consumption = df.agg(sum("energy_consumed").alias("total_energy")).collect()[0]["total_energy"]
avg_consumption = df.agg(avg("energy_consumed").alias("avg_energy")).collect()[0]["avg_energy"]
activity_stats = df.groupBy("activity_type").agg(sum("energy_consumed").alias("type_total"), avg("energy_consumed").alias("type_avg"), count("*").alias("session_count")).orderBy(desc("type_total"))
daily_trend = df.groupBy("activity_date").agg(sum("energy_consumed").alias("daily_total")).orderBy("activity_date")
peak_performance = df.orderBy(desc("energy_consumed")).limit(5).select("activity_date", "activity_type", "energy_consumed", "duration_minutes")
efficiency_analysis = df.withColumn("efficiency_ratio", col("energy_consumed") / col("duration_minutes")).orderBy(desc("efficiency_ratio")).limit(10)
weekly_pattern = df.withColumn("weekday", date_format(col("activity_date"), "E")).groupBy("weekday").agg(avg("energy_consumed").alias("weekday_avg")).orderBy("weekday_avg")
intensity_distribution = df.withColumn("intensity_level", when(col("heart_rate_avg") < 120, "Low").when(col("heart_rate_avg") < 150, "Medium").otherwise("High")).groupBy("intensity_level").agg(sum("energy_consumed").alias("intensity_total"))
monthly_comparison = df.withColumn("month", date_format(col("activity_date"), "yyyy-MM")).groupBy("month").agg(sum("energy_consumed").alias("monthly_total"), avg("energy_consumed").alias("monthly_avg"))
calorie_burn_rate = df.withColumn("burn_rate", col("energy_consumed") / col("body_weight")).agg(avg("burn_rate").alias("avg_burn_rate")).collect()[0]["avg_burn_rate"]
recovery_analysis = df.withColumn("recovery_score", when(col("rest_heart_rate") < 60, 100).when(col("rest_heart_rate") < 80, 75).otherwise(50)).agg(avg("recovery_score").alias("avg_recovery"))
goal_achievement = df.filter(col("energy_consumed") >= col("target_calories")).count()
total_sessions = df.count()
achievement_rate = (goal_achievement / total_sessions * 100) if total_sessions > 0 else 0
result_data = {"total_consumption": float(total_consumption or 0), "average_consumption": float(avg_consumption or 0), "activity_breakdown": [{"type": row["activity_type"], "total": float(row["type_total"]), "average": float(row["type_avg"]), "sessions": row["session_count"]} for row in activity_stats.collect()], "daily_trend": [{"date": str(row["activity_date"]), "total": float(row["daily_total"])} for row in daily_trend.collect()], "peak_sessions": [{"date": str(row["activity_date"]), "type": row["activity_type"], "calories": float(row["energy_consumed"]), "duration": row["duration_minutes"]} for row in peak_performance.collect()], "efficiency_ranking": [{"date": str(row["activity_date"]), "ratio": float(row["efficiency_ratio"])} for row in efficiency_analysis.collect()], "weekly_pattern": [{"day": row["weekday"], "average": float(row["weekday_avg"])} for row in weekly_pattern.collect()], "intensity_stats": [{"level": row["intensity_level"], "total": float(row["intensity_total"])} for row in intensity_distribution.collect()], "monthly_comparison": [{"month": row["month"], "total": float(row["monthly_total"]), "average": float(row["monthly_avg"])} for row in monthly_comparison.collect()], "burn_rate": float(recovery_analysis.collect()[0]["avg_recovery"]), "achievement_rate": round(achievement_rate, 2)}
spark.stop()
return JsonResponse(result_data)
else:
return JsonResponse({"error": "Method not allowed"}, status=405)
基于大数据的人体体能活动能量消耗数据分析系统文档展示
💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目