news 2026/7/22 10:20:46

收集自己的每日玩手机时长(小时),统计每周平均时长,判断是否沉迷(超过5小时/天),并给出建议。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
收集自己的每日玩手机时长(小时),统计每周平均时长,判断是否沉迷(超过5小时/天),并给出建议。

为你完整设计一个每日玩手机时长分析与沉迷检测系统,结合大数据与智能管理课程的思想,从场景到代码、从模块到文档,全部覆盖。

1. 实际应用场景 & 痛点引入

场景

你是一名关注健康与效率的人,想记录自己每天的手机使用时长(小时),并分析:

- 每周平均每天玩多久手机?

- 是否有沉迷风险(每天超过 5 小时)?

- 根据数据给出健康建议。

痛点

- 手机自带的使用统计分散,不易长期跟踪。

- 手动计算周均值和沉迷天数很麻烦。

- 缺乏自动化的健康提醒与建议。

2. 核心逻辑讲解

1. 数据获取

- 输入每日手机使用时长(CSV/Excel),字段包括:

"date"(日期)、

"usage_hours"(使用时长,单位:小时)。

2. 数据清洗

- 确保时长为数值类型,去除无效数据。

3. 统计分析

- 计算每周平均使用时长(按自然周分组)。

- 统计每天超过 5 小时的天数。

4. 沉迷判断与建议

- 如果某天 > 5 小时 → 标记为“沉迷日”。

- 根据沉迷天数给出健康建议。

5. 输出结果

- 打印每周平均时长、沉迷天数、建议。

- 可选:保存结果到 CSV。

3. 代码实现(模块化 + 注释)

目录结构

phone_usage_analysis/

├── data/

│ └── usage.csv

├── output/

├── analysis.py

├── utils.py

├── README.md

└── requirements.txt

"requirements.txt"

pandas>=1.5.0

"utils.py"(工具函数)

import pandas as pd

def load_usage_data(file_path):

"""

加载手机使用时长 CSV 文件

:param file_path: CSV 文件路径

:return: DataFrame

"""

df = pd.read_csv(file_path)

# 确保使用时长为数值类型

df['usage_hours'] = pd.to_numeric(df['usage_hours'], errors='coerce')

return df

def clean_data(df):

"""

清洗数据:删除使用时长为空的行

:param df: DataFrame

:return: 清洗后的 DataFrame

"""

return df.dropna(subset=['usage_hours'])

"analysis.py"(主分析逻辑)

import pandas as pd

from utils import load_usage_data, clean_data

def analyze_phone_usage(file_path, addiction_threshold=5):

# 1. 加载数据

df = load_usage_data(file_path)

df = clean_data(df)

# 2. 添加星期信息

df['date'] = pd.to_datetime(df['date'])

df['week'] = df['date'].dt.isocalendar().week

# 3. 计算每周平均使用时长

weekly_avg = df.groupby('week')['usage_hours'].mean()

# 4. 判断沉迷天数

df['is_addicted'] = df['usage_hours'] > addiction_threshold

addicted_days = df['is_addicted'].sum()

# 5. 输出结果

print("每周平均手机使用时长(小时):")

for week, avg in weekly_avg.items():

print(f"第 {week} 周: {avg:.2f} 小时")

print(f"\n沉迷天数(> {addiction_threshold} 小时/天): {addicted_days} 天")

# 6. 给出建议

if addicted_days > 3:

advice = "警告:你近期手机使用时间较长,建议减少非必要使用,增加运动与线下社交。"

elif addicted_days > 0:

advice = "注意:部分天数手机使用偏多,建议合理规划时间,避免影响休息与学习工作。"

else:

advice = "恭喜!你的手机使用习惯良好,请继续保持。"

print(f"\n建议: {advice}")

# 7. 保存结果

result_df = pd.DataFrame({

'week': weekly_avg.index,

'avg_usage_hours': weekly_avg.values,

'addicted_days': [addicted_days] * len(weekly_avg)

})

result_df.to_csv('../output/usage_summary.csv', index=False)

print("\n分析结果已保存到 output/usage_summary.csv")

if __name__ == "__main__":

analyze_phone_usage('../data/usage.csv', addiction_threshold=5)

4.

"README.md"

# 手机使用时长分析与沉迷检测系统

## 功能

- 导入每日手机使用时长数据

- 统计每周平均使用时长

- 判断是否沉迷(超过5小时/天)

- 给出健康建议

- 保存结果到 CSV

## 环境依赖

- Python 3.8+

- pandas

## 安装

bash

pip install -r requirements.txt

## 使用

1. 将数据放入 `data/usage.csv`,格式如下:

date,usage_hours

2025-12-01,4.5

2025-12-02,6.2

2025-12-03,3.8

...

2. 运行分析脚本:

bash

python analysis.py

3. 查看终端输出的每周平均时长、沉迷天数和建议,并在 `output/` 目录查看保存的 CSV 文件。

## 作者

全栈开发工程师 & 技术布道者

5. 核心知识点卡片

知识点 说明

Pandas 数据加载

"pd.read_csv()" 读取 CSV,

"to_numeric" 转换类型

数据清洗

"dropna()" 删除缺失值,保证分析准确性

时间处理

"pd.to_datetime()" 转换日期,

"dt.isocalendar().week" 获取周数

分组聚合

"groupby().mean()" 计算周均值

条件标记

"df['col'] > threshold" 标记沉迷日

数据保存

"to_csv()" 将结果保存为 CSV

模块化设计 工具函数与主逻辑分离,便于维护

6. 总结

本项目展示了如何用 Python 快速构建一个手机使用时长分析与沉迷检测工具,结合了:

- 大数据处理思想(数据清洗、分组聚合)

- 智能管理应用(健康监测与行为干预)

- 全栈开发实践(模块化、文档化、可扩展性)

通过这个小项目,你可以:

- 掌握 Pandas 数据处理与时间序列分析的核心方法

- 学会用简单条件判断实现业务逻辑

- 理解如何将原始数据转化为可行动的洞察

- 为后续接入手机 API、Web 前端、健康管理平台打下基础

如果你需要,可以生成一个示例 CSV 手机使用时长数据文件,这样你可以直接运行代码看到效果。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 11:09:23

企业智能体实践指南:国产Agent工具哪家强

随着 AI 技术从实验室走向企业生产端,智能体(AI Agent)软件的市场需求快速增长。不同于传统自动化工具,智能体不仅能响应指令,还可以自主理解复杂需求、拆解任务流程、调用系统工具并执行端到端操作。对于希望提升企业…

作者头像 李华
网站建设 2026/7/16 10:08:37

企业级AI Agent选型与实践:厂商能力对比与落地路径分析

随着 AI Agent 概念逐步从技术圈走向企业决策层,智能体平台正在成为企业新一轮数字化建设的重要基础设施。但现实情况是,不少企业在选型阶段就陷入困惑:平台数量多、厂商定位杂、能力边界不清,最终往往只能试点成功,但…

作者头像 李华
网站建设 2026/7/20 17:04:29

TikTok Shop爆款选品指南:TikTok 2026怎么选品?一文全解析!

俗话说“七分选品,三分运营”,优质的产品自带“流量Buff”,不仅能帮助TikTok Shop卖家突破流量瓶颈,更能有效缩短冷启动周期,推动店铺实现从0-1的高效增长。然而,从理论共识到实际落地往往存在巨大鸿沟。在…

作者头像 李华
网站建设 2026/7/19 8:34:30

Springboot考研信息交流网站5nt03(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能:用户,高校介绍,专业信息,课程类型,课程信息,课程购买,课程发送开题报告内容一、开题背景与意义(一)开题背景近年来,考研热潮持续升温,报考人数逐年递增。考研过程中,学生需要获取…

作者头像 李华
网站建设 2026/7/16 11:05:25

OLT中SVLAN和CVLAN区别

在PON网络(EPON/GPON)的OLT设备中,SVLAN(Service VLAN,服务VLAN) 和CVLAN(Customer VLAN,用户VLAN) 是QinQ(802.1ad,VLAN堆叠)技术的核…

作者头像 李华
网站建设 2026/7/19 22:58:53

ASTM D4169堆码试验是啥,堆码试验有哪些

一、试验核心定义 ASTM D4169 堆码试验主要模拟货物在运输工具(卡车、铁路货车、集装箱等)内的堆叠状态,堆叠过程中伴随运输振动、颠簸,导致压力动态变化,同时可能受混合装载(不同货物混堆)因素…

作者头像 李华