1. 主要知识点1.数据的读取与查看2.缺失值的填充3.完整缺失值填充流程2. 知识点详解pandas Python 里的超级 Excel能读 Excel需要安装Openpyx1库、CSV能筛选数据能计算、统计能处理几十万、几百万行数据2.1. 数据读取与查看2.1.1. 数据读取import pandas as pd data pd.read_csv(rpython60-days-challenge-master\data.csv)人话翻译叫 pandas 工具库过来简称pd以后要用它就喊 pd。去读取一个叫data.csv的表格文件read_csv读取 CSV 表格文件然后把这个表格存到变量data里。前面的r 防止路径报错不用深究照抄就行type(data)输出pandas.core.frame.DataFrame意思这是一个 pandas 库里面的表格2.1.2.快速预览前几行df.head() # 默认看前5行 df.head(10) # 自定义看前10行.head()对象方法带括号作用快速看表格开头样本数据2.1.3.查看表格整体基本信息df.info().info()对象方法输出函数类型作用显示总行数、总列数、每列数据类型、缺失值情况刚读取完 csv /excel第一行必写df.info()快速扫一眼数据有没有问题是数据分析标配第一步。df.shape对象属性无括号输出格式(行数, 列数)直接看表格多大df.columns对象属性无括号作用查看表格所有列名2.1.4.查看行列数量len(df)len()Python公共工具函数作用获取表格总行数len(df.columns)先用df.columns拿到所有列名再用len统计作用获取表格总列数2.1.5.数值列统计概览df.describe().describe()对象方法作用自动对所有数字列统计总数、均值、最大值、最小值、四分位数2.1.6.查看单独某一列数据df[列名] # 示例 df[姓名] df[分数]从整张表格中单独抽出指定一列单列类型是 Series可以单独查看、后续计算2.1.7.查看缺失值情况df.isnull().isnull()对象方法每个单元格缺失显示 True有值显示 Falsedf.isnull().sum()统计每列各自有多少个缺失值查看缺失最直观的写法2.2. 缺失值的填充fillna 填充先说明核心规则fillna()默认不修改原数据只是返回处理后的新数据两种修改原表的方式方式一重新赋值覆盖推荐、更稳妥方式二inplaceTrue原地直接修改2.2.1. 方式1赋值覆盖写法整表所有缺失值统一填充固定值# 所有 NaN 全部填 0 data data.fillna(0)只单独给某一列填充固定值# 单列缺失值填0 data[Annual Income] data[Annual Income].fillna(0)单列用 平均值 填充# 先算平均值 mean_val data[Annual Income].mean() # 赋值填充 data[Annual Income] data[Annual Income].fillna(mean_val)单列用 中位数 填充# 第一步计算该列中位数 median_income data[Annual Income].median() # 第二步赋值覆盖填充 data[Annual Income] data[Annual Income].fillna(median_income)文本列用众数填充mode_val data[性别].mode()[0] data[性别] data[性别].fillna(mode_val)2.2.2. 方式2inplaceTrue 原地修改写法语法fillna(填充值, inplaceTrue)作用直接改原表不用再赋值单列中位数填充 inplace 版median_income data[Annual Income].median() # 原地直接修改原列不用赋值 data[Annual Income].fillna(median_income, inplaceTrue)整表缺失值原地填0data.fillna(0, inplaceTrue)2.2.3. 两种写法等价对照# 写法A赋值覆盖推荐 data[Annual Income] data[Annual Income].fillna(median_income) # 写法Binplace 原地修改 data[Annual Income].fillna(median_income, inplaceTrue)效果完全一模一样只是写法不同2.2.4. 关键知识点总结不加inplaceTrue→fillna只返回新数据必须赋值才生效加inplaceTrue→直接修改原数据不用赋值工作学习优先用赋值覆盖写法少用inplaceTrue不易出错数值列常用均值、中位数、填0文本列常用众数2.3. 完整缺失值填充流程# 完整的缺失值处理流程 print( 原始数据缺失情况 ) print(data.isnull().sum()) print(\n 处理数值列缺失值 ) numeric_cols data.select_dtypes(include[number]).columns for col in numeric_cols: if data[col].isnull().sum() 0: mean_val data[col].mean() data[col].fillna(mean_val, inplaceTrue) print(f{col} 已用均值 {mean_val:.2f} 填补) print(\n 处理后缺失情况 ) print(data.isnull().sum())3. 课后练习疏锦行