pandas用众数填充缺失值_数据处理之缺失值填充

本文介绍了如何使用pandas对数据缺失值进行处理,重点讲述了利用众数进行填充的方法,包括直接使用fillna()函数和使用SimpleImputer类。同时,文中还提到了其他填充方法,如直接删除、前/后填充、均值和中位数填充、插值法、KNN填充以及随机森林填充。
摘要由CSDN通过智能技术生成

点赞、关注再看,养成良好习惯

Life is short, U need Python

初学Python,快来点我吧

1. 概述

首先对数据缺失的原因、类型以及处理方法做一个简单地总结,如下图所示:

2. 直接删除法

当缺失值的个数只占整体很小一部分的时候,可直接删除缺失值(行)。但是如果缺失值占比比较大,这种直接删除缺失值的处理方法就会丢失重要信息。

直接删除法处理缺失值时,需要检测样本总体中缺失值的个数。Python中统计缺失值的方法如下(下面结合具体数据集,直接上代码):

import numpy as np

import pandas as pd

data = pd.read_csv('1.csv') # 需要具体数据(公开的海藻数据集)请留言,并附上邮箱!

data.head()

null_all = data.isnull().sum() # 检测缺失值个数(方法1)

null_all

data.info() # 检测缺失值个数(方法2)

# new_data = data.dropna() # 1--删除存在缺失值的行

# new_data = data.dropna(subset=['C1','Chla']) # 2--删除指定列存在缺失值的行

new_data = data.dropna(thresh=15) # 3--删除行属性值不足k个的行(即删除缺失元素比较多的行-->n-15)

new_data.info()

3. 前填充/后填充

import numpy as np

import pandas as pd

data = pd.read_csv('1.csv')

data[50:60] # 展示缺失值情况

data = data.fillna(method='ffill') # ffill---前填充;bfill--后填充

data[50:60]

4. 均值、众数、中位数填充

通常可以根据样本之间的相似性(中心趋势)填补缺失值,通常使用能代表变量中心趋势的值进行填补,代表变量中心趋势的指标包括 平均值(mean)、中位数(median)、众数(mode) 等,那么我们采用哪些指标来填补缺失值呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值