网站搭建行业,seo点石论坛,网站建设公司考察,网站 使用的字体在数据处理相关工作中#xff0c;读取的数据中常常会有缺失值的情况#xff0c;为顺利进行后续的操作#xff0c;需要首先对缺失值进行处理#xff0c;处理的方式一般为删除或填充#xff0c;Python中提供了专门的工具包#xff0c;可以方便地进行实现。读取操作可以由pa… 在数据处理相关工作中读取的数据中常常会有缺失值的情况为顺利进行后续的操作需要首先对缺失值进行处理处理的方式一般为删除或填充Python中提供了专门的工具包可以方便地进行实现。读取操作可以由pandas模块实现通常直接读一个excel或csv文件创建为DataFrame对象模块中的dropna方法和fillna方法可以实现对缺失值的删除和填充。 现有下列数据文件文件命名为testdata.xlsx对它进行缺失值处理。 读取数据
import pandas as pd
data pd.read_excel(./testdata.xlsx)易知数据中第4行第1列、第6行第2列、第2行第4列、第3行第4列是缺失的。
1.删除 对于缺失的地方可以删除所在的行或所在的列。
(1).删除含空值的行在dropna()中加参数axis0.
data.dropna(axis0,inplaceTrue)(2).删除含空值的列在dropna()中加参数axis1.
data.dropna(axis1,inplaceTrue)2.填充 对于缺失的地方也可以填入一个值使之不再空缺。通常填0、指定字符、中位数、均值、相邻值或拟合值。
(1).填充0
data.fillna(0,inplaceTrue)(2) 填充指定字符
data.fillna(无,inplaceTrue)(3) 填充整体的均值、中位数 均值保留一位小数
t np.round(np.mean(data),1)
data.fillna(t,inplaceTrue) 中位数
dnr np.array(data)
dnr dnr[~np.isnan(dnr)] # 非nan元素
t np.median(dnr) # 整体中位数
data.fillna(t,inplaceTrue) (4)填充所在列的均值、中位数 均值
data.fillna(data.mean(),inplaceTrue)中位数 奇数个元素取中间的偶数个元素取中间两个的均值
data.fillna(data.median(),inplaceTrue)(5)填充相邻值 a. 填充列的前相邻值
data.fillna(methodffill,axis0,inplaceTrue)或
data.ffill(axis0,inplaceTrue)b. 填充列的后相邻值
data.fillna(methodbfill,axis0,inplaceTrue)或
data.bfill(axis0,inplaceTrue)c. 填充行的前相邻值
data.fillna(methodffill,axis1,inplaceTrue)或
data.ffill(axis1,inplaceTrue)d. 填充行的后相邻值
data.fillna(methodbfill,axis1,inplaceTrue)或
data.bfill(axis1,inplaceTrue)(6)按列填充指定内容 有时不同列空缺数据的填充需求是不一致的此时可以按列进行填充。 a.填充某一列 对第4列空缺处填充列均值
mean_c4 data[TitleC4].mean()
data[TitleC4].fillna(mean_c4, inplaceTrue) 对第4列空缺处填充前相邻值
data[TitleC4].fillna(methodffill,axis0,inplaceTrue) 或
data[TitleC4].ffill(axis0,inplaceTrue) b,用字典指定填充多列
fill_values {TitleC1:1111,TitleC2:2222,TitleC4:4444,TitleC5:5555}
data.fillna(valuefill_values, inplaceTrue) (7)填充拟合值插值算法 对于元素仅为数字的数据缺失部分也可用插值算法填充如线性插值、二次插值、三次插值、样条插值等。
data.interpolate(methodslinear,inplaceTrue) #线性插值
data.interpolate(methodquadratic,inplaceTrue) #二次插值
data.interpolate(methodcubic,inplaceTrue) #三次插值参考 1.https://www.python100.com/html/L1PK07477FUQ.html 2.https://www.python100.com/html/120094.html 3.https://www.python100.com/html/75400.html 4.https://blog.csdn.net/weixin_46277779/article/details/126224097