
第一节 数据及其类型1.什么是数据数据是对事实、概念或指令的一种可机器处理的表示形式是信息的载体。它是数据分析、机器学习的原始素材其质量直接决定后续分析结果的可靠性。2. 数据的分类方式1按结构分类结构化数据具有固定格式可直接存入二维表中如数据库表、Excel 表格。半结构化数据无固定表结构但有标记可分隔语义元素如 JSON、XML 文件。非结构化数据无法用数据库二维逻辑表来表现的数据如文本、图片、音视频。2按属性特征分类数值型 vs 字符型数值型可直接进行算术运算字符型则表示类别或文本信息。离散型 vs 连续型离散型数据取有限个值如人数连续型数据可取某一区间内的任意值如身高。二元属性分为对称二元属性如性别男 / 女和非对称二元属性如疾病的阳性 / 阴性关注的是罕见结果。3. 常见数据集类型记录数据由多个独立的记录构成每条记录描述一个对象。数据矩阵以矩阵形式存储的数值型数据常用于统计和机器学习。文档数据由文本构成的数据集如新闻、论文。图数据用节点和边表示对象及其关系的数据如社交网络。时间序列数据按时间顺序记录的数据如股票价格、传感器读数。第二节 数据生成与载入Python 实现1. 使用 NumPy 生成数据序列NumPy 是 Python 科学计算的基础库可快速生成各类数据序列。1等差序列np.arange(start, stop, step)按固定步长生成序列不包含终点。np.linspace(start, stop, num)生成指定数量的序列包含终点。2随机数生成np.random.randint(low, high, size)生成指定范围内的随机整数。np.random.rand(d0, d1, ...)生成 [0, 1) 区间的均匀分布浮点数。np.random.randn(d0, d1, ...)生成标准正态分布均值为 0方差为 1的数据。np.random.seed(seed)设置随机种子确保每次运行生成的随机数相同方便复现实验。3常用操作arr.reshape(new_shape)改变数组的维度不改变数据本身。np.repeat(arr, repeats, axis)按指定次数重复数组元素。2. 本地文件读写1os 模块路径与文件管理os.getcwd()获取当前工作目录路径。os.mkdir(path)创建新文件夹。os.listdir(path)列出指定路径下的所有文件和文件夹。2文本文件读写推荐使用 with 语句它会在操作结束后自动关闭文件无需手动管理资源。r只读模式w只写模式会覆盖原文件内容a追加模式在文件末尾写入内容3使用 Pandas 读写表格数据Pandas 是数据分析的利器支持多种格式的数据读写。pd.read_csv(data.csv)读取 CSV 文件。pd.read_excel(data.xlsx)读取 Excel 文件。df.to_csv(output.csv, indexFalse)将 DataFrame 保存为 CSV 文件indexFalse表示不保存行索引。4sklearn 内置数据集scikit-learn库提供了多个经典的实验数据集可直接调用第三节 从文件中获取数据涵盖路径管理、文本文件、表格文件读写以及 Python 内置数据集调用。1. os 路径管理os.getcwd()查看当前工作路径os.mkdir()创建文件夹os.listdir()查看目录下所有文件 / 文件夹2. 文本文件读写推荐使用with语句操作结束自动关闭文件无需手动释放资源。r只读w覆盖写入a追加写入3. Pandas 读写表格文件pd.read_csv()读取 CSV 文件pd.read_excel()读取 Excel 文件df.to_csv(path, indexFalse)保存为 CSV 文件indexFalse表示不导出行索引4. sklearn 内置数据集scikit-learn 提供现成实验数据集可直接调用使用如鸢尾花数据集、乳腺癌数据集。第四节 从数据库中获取数据介绍两款常用数据库的 Python 连接与数据读取操作。1. SQLite 数据库轻量级文件型数据库无需独立服务器适用于小型项目。操作流程连接数据库 → 创建游标 → 执行 SQL 语句 → 获取查询结果关键要点增、删、改操作后必须执行commit()提交事务操作完毕关闭连接取值方法fetchone()获取单条数据fetchall()获取全部数据2. MySQL 数据库主流关系型数据库依赖pymysql库实现连接。连接必填参数主机地址、用户名、密码、数据库名、编码格式游标执行 SQL、事务提交、结果读取、关闭连接等操作规则与 SQLite 一致第五节 从网页中获取数据基于requests和BeautifulSoup实现基础网页数据抓取与解析。1. requests 库请求网页response.text获取网页源码response.status_code查看响应状态码200代表请求成功2. BeautifulSoup 网页解析用于从网页源码中提取目标数据可定位标签、抓取文本内容。3. 爬虫规范添加请求头User-Agent伪装浏览器避免被网站拦截控制访问频率减轻服务器压力遵守网站robots协议第六节 网络爬虫一、正则表达式re 库用于复杂字符串的匹配、查找与替换是数据清洗、文本提取的常用工具。常用元字符\d数字、\w字母 / 数字 / 下划线、\s空白字符.任意字符*匹配 0 次及以上匹配 1 次及以上?匹配 0 或 1 次^匹配行首$匹配行尾默认采用贪婪匹配模式核心方法re.findall()匹配所有符合规则的内容re.search()匹配第一个符合规则的内容re.sub()字符串替换书写建议使用原始字符串r规避转义字符问题二、Selenium 动态网页爬虫针对 JS 动态渲染页面模拟真实浏览器完成爬取。环境配置安装库 下载对应浏览器驱动核心操作driver.get(url)打开指定网页元素定位支持 ID、XPath、CSS 选择器等方式基础动作click()点击、send_keys()输入内容、获取元素文本driver.quit()关闭浏览器