《数据的收集与整理》课程大纲
课程名称: 数据的收集与整理
课程总时长: 36-48学时 (可根据实际情况调整)
课程目标:
- 理论层面: 理解数据生命周期,掌握数据质量的核心维度,熟悉各类数据来源及其特点。
- 技能层面: 熟练掌握至少一种主流工具(如Python或SQL)进行数据采集、清洗、转换和整合。
- 实践层面: 能够独立完成一个从原始数据到可用数据的完整处理流程,并能将结果进行可视化展示。
- 思维层面: 培养严谨、细致的数据思维,能够识别和处理数据中的异常,并理解数据治理的重要性。
第一模块:导论与基础 (4学时)
学习目标: 建立对数据科学的宏观认识,理解本课程的核心内容和重要性。
-
第1讲:数据时代与数据思维

- 什么是数据?数据、信息与知识的区别。
- 为什么数据收集与整理是数据科学项目的基石?(“Garbage in, garbage out”原则)
- 数据在商业、科研、生活中的应用案例。
- 课程介绍与学习路径规划。
-
第2讲:数据生命周期与数据质量
- 数据生命周期:产生 -> 收集 -> 存储 -> 处理 -> 分析 -> 可视化 -> 归档/销毁。
- 核心概念:数据质量六维度
- 准确性: 数据与真实值的一致性。
- 完整性: 数据无缺失。
- 一致性: 数据在不同系统中逻辑不自相矛盾。
- 时效性: 数据的“新鲜度”。
- 唯一性: 数据记录不重复。
- 有效性: 数据符合预定义的格式和范围。
- 数据质量问题的常见原因与后果。
第二模块:数据收集 (8-10学时)
学习目标: 掌握从各种来源获取数据的方法,了解不同数据类型的获取技巧。
-
第3讲:数据来源概览
- 内部数据: 公司数据库、CRM系统、ERP系统、日志文件等。
- 外部数据:
- 公开数据集: 政府(如国家统计局)、研究机构(如Kaggle)、国际组织(如世界银行)。
- 第三方API: 社交媒体(Twitter, 微博)、天气服务、金融数据等。
- 网络爬虫: 从网站抓取公开信息。
- 购买/合作数据: 市场调研报告、行业数据等。
-
第4讲:结构化数据获取 - SQL基础

- 数据库基本概念:数据库、表、字段、主键、外键。
- 核心SQL语句:
SELECT,FROM,WHERE(筛选)ORDER BY,LIMIT(排序与限制)JOIN(内连接、左连接等,用于多表关联)GROUP BY,聚合函数(COUNT, SUM, AVG等,用于数据汇总)
- 实践: 连接到一个示例数据库(如SQLite),编写SQL查询提取所需数据。
-
第5讲:网络数据采集 - 爬虫技术入门
- HTTP/HTTPS协议基础(GET, POST请求)。
- HTML/CSS基础:理解网页结构,定位数据元素。
- 爬虫工具介绍:
- Python库:
Requests(发送请求),BeautifulSoup/lxml(解析HTML),Scrapy(框架化爬虫)。
- Python库:
- 爬虫伦理与法律:
robots.txt协议,尊重版权,不进行恶意高频访问。 - 实践: 使用Python爬取一个静态新闻网站的标题和发布时间。
-
第6讲:API数据获取
- API是什么?RESTful API简介。
- 认证方式:API Key, OAuth。
- 使用
Requests库调用API,解析JSON格式的返回数据。 - 实践: 调用一个开放API(如天气API、电影API)获取数据。
-
第7讲:其他数据收集方式
- 问卷调查工具介绍(如问卷星、Google Forms)。
- 传感器数据、IoT数据简介。
- 文件数据导入:Excel, CSV, JSON等。
第三模块:数据整理 (12-14学时)
学习目标: 掌握使用Python(Pandas库)进行数据清洗、转换和整合的核心技能。
-
第8讲:数据整理流程与工具
- 为什么数据需要整理?现实世界数据有多“脏”?
- 数据整理的步骤:数据加载 -> 数据概览 -> 数据清洗 -> 数据转换 -> 数据标准化 -> 数据整合。
- 核心工具介绍:Python & Pandas库。
-
第9讲:数据加载与初步探索
- 使用Pandas读取CSV, Excel, JSON等文件。
- 数据探索函数:
df.head(),df.tail(),df.info(),df.describe()df.shape,df.columns,df.dtypes
- 实践: 加载一个包含“脏数据”的CSV文件,进行初步探索。
-
第10讲:数据清洗 - 处理缺失值
- 识别缺失值:
df.isnull().sum(),df.isna() - 处理缺失值的方法:
- 删除:
df.dropna() - 填充:
df.fillna()(均值、中位数、众数、固定值) - 高级插补: 前向填充、后向填充。
- 删除:
- 实践: 针对特定数据集,选择合适的方法处理缺失值。
- 识别缺失值:
-
第11讲:数据清洗 - 处理重复值与异常值
- 识别和处理重复值:
df.duplicated(),df.drop_duplicates() - 识别异常值:可视化法(箱线图)、统计法(Z-score, IQR)。
- 处理异常值的方法:删除、替换、保留并标记。
- 实践: 清洗数据集中的重复记录,并检测和处理异常值。
- 识别和处理重复值:
-
第12讲:数据转换与标准化
- 数据类型转换:
df.astype(),pd.to_datetime() - 特征缩放:
- 归一化:
MinMaxScaler - 标准化:
StandardScaler
- 归一化:
- 特征编码:
- 标签编码:
LabelEncoder - 独热编码:
pd.get_dummies()
- 标签编码:
- 实践: 对分类变量进行编码,对数值特征进行标准化。
- 数据类型转换:
-
第13讲:数据整合
- 合并:
pd.merge()(类似SQL的JOIN) - 拼接:
pd.concat()(堆叠数据) - 实践: 将两个相关联的数据集进行合并。
- 合并:
-
第14讲:数据整理综合案例
- 一个完整的端到端项目:从加载多个“脏”数据源,到经过一系列清洗、转换、整合步骤,最终得到一个干净、规整的分析数据集。
- 过程文档化与代码注释的重要性。
第四模块:数据存储与输出 (4学时)
学习目标: 了解数据存储的格式和方式,并能将处理好的数据导出。
-
第15讲:数据存储格式
- 不同格式的优缺点:CSV, Excel, JSON, Parquet, HDF5。
- 为什么推荐使用Parquet/Feather等高效格式?
-
第16讲:数据导出与数据存入数据库
- 使用Pandas将数据导出为各种文件格式。
- 实践: 将整理好的DataFrame存入SQLite数据库,并验证。
第五模块:数据可视化与质量报告 (4学时)
学习目标: 通过可视化初步验证数据整理效果,并学会撰写数据质量报告。
-
第17讲:数据整理过程的可视化验证
- 使用Matplotlib/Seaborn进行简单可视化。
- 在清洗前后绘制对比图表(如直方图、箱线图),直观展示数据变化。
-
第18讲:数据质量报告
- 数据质量报告的重要性。
- 报告应包含的内容:数据来源、处理步骤、数据质量评估(各维度得分)、问题总结与建议。
- 实践: 为一个整理好的数据集撰写一份简短的数据质量报告。
第六模块:综合项目与实践 (4学时)
学习目标: 综合运用所学知识,独立完成一个完整的数据收集与整理项目。
- 第19讲:项目实战
- 项目主题: ( “中国主要城市天气数据分析”、“某电商平台用户评论情感分析数据准备”。
- 任务要求:
- 确定数据需求,选择至少两种不同的数据来源。
- 设计并执行数据收集方案。
- 对收集到的数据进行全面的清洗和整理。
- 将最终数据存储为推荐格式。
- 提交包含源代码、Jupyter Notebook和README文件的项目报告。
课程考核方式
- 平时作业 (30%): 针对每章核心技能的编程练习。
- 中期项目 (30%): 完成一个小型的数据收集与整理任务,并提交报告。
- 期末综合项目 (40%): 独立完成一个较复杂的项目,全面考察课程所学。
推荐工具与资源
- 主要编程语言: Python 3.x
- 核心库:
Pandas: 数据处理的核心。NumPy: 数值计算基础。Matplotlib/Seaborn: 数据可视化。Requests: 网络请求。BeautifulSoup: HTML解析。SQLAlchemy: (可选) Python与数据库交互。
- 开发环境: Jupyter Notebook / VS Code / PyCharm
- 在线资源:
- Kaggle: 大量公开数据集和案例。
- 政府开放数据平台: 各国政府的数据开放网站。
- API文档: 各大开放平台的开发者文档。
这份大纲力求理论与实践相结合,由浅入深,希望能帮助你构建一个系统化的“数据收集与整理”知识体系。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。