python缺失值填充方法

1.找到缺失值

  • 导入数据集
df=pd.read_csv("nba.csv")
df.head(10)
  • 替换异常值(数据集中异常值为“-”)

把数据集中的异常值用“NaN”替换

# 将空值形式的缺失值转换成可识别的类型
data = data.replace('-', np.NaN)

2.计算缺失值的数量

用# isnull() 函数,确认各列是否有缺失值1.

null_all = df.isnull().sum()
print(null_all)

1

.sum();表示可以显示各个列的缺失值数量。

null_all = df.isnull.any(axis=1)#表示那些行具有缺失值,

.any()表示只要按行或列计算,有缺失值就算入
.all()表示所在行或列全为缺失值才计入
.sum()表示计算列缺失值时,一列有多个缺失值,同理,计算行缺失,计算有多少个行

3.处理缺失值

3.1:df.dropna():直接删除行列

df表示数据集的名称

  • dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
    括号内上述参数都是函数默认。

axis=0:表示对行进行删除操作,axis=1:对列删除进行操作
how=‘any’:表示维度 存在“缺失值”就删除相应行/列操作;how=‘all’:进行相关行或列删除操作时,只有所有维度缺失才删除
thresh=None:等于几表示有几个缺失值存在才会删除所在的行或列。
inplace=False:表示对原来的数据集不进行操作,True时表示对原来的数据集也进行操作。

3.2:df.fillna()填充缺失值

  • fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

axis : {0 or ‘index’, 1 or ‘columns’}

method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}
pad’, ‘ffill:将前面的值填充于后面位置。
backfill’, 'bfill:表示将后面的值填充于前面位置。

data.fillna(data.mean())#平均值填充
data.fillna(data.median())#中位数填充

3.3:KNN填充

from sklearn.impute import KNNImputer
imputer = KNNImputer(n_neighbors=4)#邻居样本求平均数
df1=imputer.fit_transform(df)

4.查看数据集的末尾

df.tail(10)
查看末尾10行

  • 14
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值