news 2026/4/16 19:48:25

收集自己的每日玩手机时长(小时),统计每周平均时长,判断是否沉迷(超过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/4/15 23:33:11

【2025最新】基于SpringBoot+Vue的靓车汽车销售网站管理系统源码+MyBatis+MySQL

摘要 随着互联网技术的快速发展和电子商务的普及,汽车销售行业正逐步向数字化转型。传统的汽车销售模式受限于地域和时间的限制,难以满足消费者对便捷购车体验的需求。线上汽车销售平台通过整合资源、优化流程,为消费者提供从选车、试驾到购车…

作者头像 李华
网站建设 2026/4/15 14:47:23

PCB企业出海案例赏析:盘古信息IMS赋能客户实现高效协同与快速投产

近年来,随着全球供应链格局变化,越来越多中国PCB企业选择在东南亚等地建设海外生产基地,以贴近客户、优化成本、提升交付能力。然而,新工厂从“建成”到“高效运行”,往往面临系统割裂、标准不一、经验难复用等现实挑战…

作者头像 李华
网站建设 2026/4/16 12:27:08

柑橘病害数据集(四类图像分类,没有打yolo标签)

1.文件夹分为训练集和测试集在这个数据集中,有一类是新鲜柑橘,还有另外三种疾病,溃疡病、黑斑病和绿化病。2.train文件夹 2.1.blackspot(黑斑病) 文件夹206张照片2.2.canker(溃疡病) 文件夹201…

作者头像 李华
网站建设 2026/4/16 10:41:47

【必藏】Coze扣子:程序员和普通人都能快速掌握的AI开发工具

一、Coze 扣子是什么?Coze 扣子是字节推出的,一个能让普通人轻松开发 AI 应用的平台。 简单来说,我们以前开发 AI 应用,那得是专业程序员,又是写代码,又是调试程序的,门槛可高了。 但有了 Coze …

作者头像 李华
网站建设 2026/4/16 11:08:18

Java Web 学生宿舍信息系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着高校信息化建设的不断推进,学生宿舍管理作为校园生活的重要组成部分,亟需通过数字化手段提升管理效率和服务质量。传统宿舍管理多依赖人工操作,存在信息更新滞后、数据统计繁琐、安全隐患排查困难等问题。学生宿舍信息系统通过整合住…

作者头像 李华