DAY4 缺失值处理pandas

发布时间:2026/7/13 2:13:36
DAY4 缺失值处理pandas 浙大疏锦行一、知识点1.1 基本语法import pandas as pdpandas中有两类 series一列和datafame(多列)绝对路径和相对路径一个对象(实例)有属性也有方法方法人.跳舞() ,属性人.年龄jupyter中的一种安装包的方式!pip install pandas读取csv数据pd.read_csv(rpython60-days-challenge-master\data.csv) r用于去除转义读取excel数据pd.read_excel((E:\study\PythonStudy\python60-days-challenge-master\data.xlsx))取前10行数据data.head(10)默认取前五行非空统计data.info() 输出 列名、非空值、数据类型统计行数列数data.shape输出所有列名data.columns基本统计量data.describe()各列数据类型date.dtypes查看某一列date[列名]查看空值位置data.isnull() 返回布尔矩阵True代表为空每列缺失值计数data.isnull().sum() sum代表求每一列的和计算某列中位数data[列名].median()计算众数data[列名].mode() 可能有多个值 一般保留第一个将numpy数组和pandas对象转换成lista.tolist()筛选出所有数值类型的列:data.select_dtypes(include[number]).columns1.2 缺失值填充以中位数填充为例1. 计算中位数median_income data[Annual Income].median()2. 缺失值填充data[Annual Income].fillna(median_income, inplaceTrue)inplaceTrue代表直接在原dataframe上修改不设置则默认返回新dataframe,不修改原dataframe如何填补所有数值型缺失值c data.columns c c.tolist() # 循环遍历c这个列表中的每一列 for i in c: # 找到为数值型的列 if data[i].dtype ! object: # 找到为数值型的列 if data[i].isnull().sum() 0: # 找到存在缺失值的列 #计算该列的均值 mean_value data[i].mean() #用均值填充缺失值 data[i].fillna(mean_value, inplaceTrue) data.isnull().sum()# 完整的缺失值处理流程 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())