用Python分析健身数据与健康习惯

维持健康的生活方式不仅需要规律运动,还应记录并分析健身数据,以便发现趋势、优化锻炼效果。尽管健身 App 功能强大,但使用 Python 自建一个分析工具,可实现更灵活、可控的数据洞察方式。

我们将一起构建一个简单的健身数据分析器,具备以下功能:
– 读取健身记录 CSV 文件
– 分类锻炼类型(如跑步、力量训练、瑜伽等)
– 可视化锻炼频率与强度
– 提供健康习惯趋势分析和优化建议

第一步:准备健身记录数据

你需要准备一个包含每日运动记录的 CSV 文件,结构示例如下:

说明:
– Duration 表示每次锻炼的时长(分钟)
– Type 是锻炼类型分类
– Calories 为系统或设备记录的热量消耗

第二步:设置开发环境

需要用到的 Python 库如下:

“`python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
“`

– pandas 处理健身数据
– matplotlib 与 seaborn 用于数据可视化

第三步:加载并清洗数据

“`python
df = pd.read_csv(“fitness_log.csv”, parse_dates=[“Date”])
df[“Type”] = df[“Type”].str.lower().str.strip()
“`

我们确保日期字段被正确解析,并统一分类命名,避免大小写或空格混淆。

第四步:按锻炼类型分析

统计各类运动的总时长与平均热量消耗:

“`python
summary = df.groupby(“Type”).agg({
“Duration (min)”: “sum”,
“Calories”: “mean”
})
print(summary)
“`

输出示例:
“`
Duration (min)   Calories
running               120       310.0
strength              180       400.0
yoga                   60       95.0
“`

第五步:可视化每周锻炼趋势

### 锻炼时间柱状图

“`python
weekly = df.resample(“W-Mon”, on=”Date”)[“Duration (min)”].sum()
weekly.plot.bar()
plt.title(“Weekly Total Workout Time”)
plt.ylabel(“Minutes”)
plt.show()
“`

### 热量消耗趋势线图

“`python
df.groupby(“Date”)[“Calories”].sum().plot()
plt.title(“Daily Calories Burned”)
plt.ylabel(“Calories”)
plt.show()
“`

第六步:健康习惯洞察

你可以设定目标,比如每周运动至少 180 分钟,并检查是否达成:

“`python
goal = 180
if weekly.iloc[-1] < goal:
print(“⚠️ 本周运动时长未达标,请适当增加活动量!”)
“`

还可以检测连续久坐(3 天未运动)并提示:

“`python
active_days = df[“Date”].dt.date.unique()
# 可进一步检测活动间隔
“`

这个项目让你学会如何处理健身数据、识别行为模式,并提供数据驱动的改善建议。用编程打造属于你的健康助手,迈向更科学、高效的健身生活。

有意扩展【科技】相关的知识双语应用题? 去EduRises Microlearning 跨领域学习平台试一试

点击【经验分享】,了解更多关于学习、行业与职业资讯。