《人工智能数据处理》第三章和第四章学习笔记
发布时间:2026/10/22 13:12:36 锦皓数字建站

项目3 Python数据操作基础第三章3.1 本章概述本章核心是Pandas库用于数据读取、探索、清洗、筛选、分组聚合结合Matplotlib实现数据可视化。使用经典Titanic沉船数据集作为基础案例最后以学生成绩分析作为综合项目实战。 依赖库pandas、matplotlib3.2 Pandas基础数据处理核心知识点1. 数据读取与探索函数作用pd.read_csv(xxx.csv)读取csv文件生成DataFrame表格对象df.head(n)查看前n行数据默认前5行快速预览df.info()查看数据基本信息行数、列名、数据类型、缺失值数量df.describe()描述性统计均值、最大值、最小值、标准差、四分位数只统计数值列df[列名].unique()查看该列所有不重复的值示例代码Titanic数据导入预览import pandas as pd # 读取CSV文件 titanic_df pd.read_csv(titanic.csv) # 查看前5行 print(titanic_df.head()) # 查看数据信息、缺失情况 print(titanic_df.info()) # 统计描述 print(titanic_df.describe()) # 查看Sex列不重复值 print(titanic_df[Sex].unique())2. 数据清洗处理缺失值、类型转换df.dropna()删除包含缺失值的整行数据df[列名].fillna(值, inplaceTrue)填充缺失值inplaceTrue代表直接修改原表格常用中位数填充median()、均值填充mean()df[列名].astype(category)转为类别类型节省内存适合分类字段性别、类别标签示例# 删除带缺失值的行 titanic_df_no_na titanic_df.dropna() # Age缺失值用中位数填充直接修改原表 titanic_df[Age].fillna(titanic_df[Age].median(), inplaceTrue) # Sex转为类别类型 titanic_df[Sex] titanic_df[Sex].astype(category)易错点inplaceTrue是原地修改不会返回新对象不加这个参数需要用变量接收返回结果。3. 数据筛选条件过滤语法新df 原df[ 筛选条件 ]# 筛选女性乘客 female_passengers titanic_df[titanic_df[Sex] female] # 筛选存活乘客Survived1代表存活 survived_passengers titanic_df[titanic_df[Survived] 1]4. 分组聚合 groupby重点作用按照某一列分组对分组后的其他列做求和、计数、均值等统计 语法df.groupby(分组列)[统计列].聚合方法()# 按性别分组统计每个性别的存活总人数 survival_by_sex titanic_df.groupby(Sex)[Survived].sum() print(survival_by_sex)案例运行结果男性存活109人女性存活233人5. Matplotlib 数据可视化配合Pandas绘制图表常用条形图kindbarimport matplotlib.pyplot as plt # 设置画布大小 plt.figure(figsize(10,8)) # 绘制条形图 survival_by_sex.plot(kindbar) plt.title(Survival by Sex) # 图表标题 plt.xlabel(Sex) # X轴标签 plt.ylabel(Number of Survived)# Y轴标签 plt.show() # 展示图片3.4 项目实战学生考试成绩数据分析3.4.1 项目需求读取学生成绩csv分析成绩分布、各科差异找出优生、差生支撑教学参考。 数据字段姓名、语文成绩、数学成绩、英语成绩、总分3.4.2 开发环境Python3.x Pycharm / Jupyter Notebook Pandas Matplotlib3.4.3 实施步骤数据准备整理成csv格式数据导入探索import pandas as pd scores_df pd.read_csv(student_scores.csv) print(scores_df.info()) print(scores_df.describe()) print(scores_df.head()) print(scores_df.tail())数据分析describe()获取每科平均分、最高分、最低分value_counts()统计分数分段人数自定义函数 映射给成绩划分等级优秀≥90、良好≥80、中等≥70、及格≥60、不及格60# 统计语文成绩分布 score_distribution scores_df[语文成绩].value_counts() print(score_distribution) # 成绩分级函数 def get_grade(score): if score 90: return 优秀 elif score 80: return 良好 elif score 70: return 中等 elif score 60: return 及格 else: return 不及格第三章易错点筛选条件的等于号是不是单个groupby分组之后结果是分组对象需要配合sum/count等聚合函数matplotlib绘图必须写plt.show()才会弹出图片fillna不加inplaceTrue原始表格不会变化CSV文件路径文件放在项目文件夹内直接写文件名否则写绝对路径项目4 数据采集及存储第四章4.1 项目导入真实业务中数据来源杂乱、格式不统一需要采集 清洗 持久化存储可以写爬虫从网页采集数据选择合适方案保存数据。4.2 学习目标知识目标理解三种存储方案特点与场景文件存储、关系型数据库、非关系型数据库掌握Python读写txt、csv、json文件掌握Python连接MySQL、MongoDB数据库掌握爬虫常用库基础使用职业能力熟练文件读写标准库独立编写简单爬虫采集数据自主查阅官方文档学习新技术职业素养遵守爬虫法律法规合规采集数据代码规范添加注释团队沟通协作4.3 相关知识数据存储三大方案方案1文件存储本章重点特点简单免安装、灵活缺点大数据查询、管理弱适合小规模、临时数据 适用场景数据量小、结构简单临时备份、教学演示① TXT文本文件适合无固定格式简单文本结构自由结构化数据管理麻烦# 写入txt data {id:123456,name:张三,age:20} with open(data.txt, w, encodingutf-8) as file: for key in data.keys(): file.write(str(key) : str(data[key]) \n) # 读取txt with open(data.txt, r, encodingutf-8) as file: lines file.readlines() for line in lines: print(line.strip())with open()上下文管理器自动关闭文件不用手动close()encodingutf-8防止中文乱码② CSV文件表格型结构化数据Excel、Pandas都支持适合行列整齐数据import csv data [[张三,14岁,男],[李四,15岁,男],[王一,16岁,女]] # 写入csv with open(user_data.csv, w, newline, encodingutf-8) as file: writer csv.writer(file) writer.writerow([姓名,年龄,性别]) #表头 writer.writerows(data) # 读取csv with open(user_data.csv, r, encodingutf-8) as file: reader csv.reader(file) for row in reader: print(row)注意参数newline消除csv里面多余空行③ JSON文件支持嵌套多层结构可读性好互联网接口最常用适合复杂层级数据import json data [ {name:张三,age:14,sex:男}, {name:李四,age:15,sex:男}, {name:王一,age:14,sex:女} ] # 写入json with open(data.json, w, encodingutf-8) as file: json.dump(data, file, ensure_asciiFalse, indent2) # 读取json with open(data.json, r, encodingutf-8) as file: res json.load(file) print(res)ensure_asciiFalse正常显示中文不会转成\u编码方案2关系型数据库代表MySQL特点表结构固定、支持事务、SQL查询强大适合业务数据需要频繁查询、关联方案3非关系型数据库代表MongoDB特点文档型不需要固定表结构适合爬虫采集的不规则网页数据第四章易错点文件读写编码必须统一utf-8中文乱码头号原因json写入不加ensure_asciiFalse中文会变成unicode编码csv写入不加newline会出现大量空白行爬虫红线不能随便爬取隐私、受保护网站遵守robots协议、法律法规
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。