Pandas | 缺失值处理

Pandas缺失值处理

一、判断缺失值

首先拿到一份数据,以Dataframe提取后,要查看缺失值的情况

import pandas as pd

df = pd.read_csv(xxx)
df.isnull() # 获得TRUE,FALSE的返回值
df.isnull().sum() # 判断缺失的数量

1.1 df.isnull.sum()

常用此接口来快速判断各特征的缺失值情况!

二、处理缺失值

2.1 丢弃缺失值dropna()

  • 当特征的缺失值占很大比重时,直接考虑删掉该特征
  • 当缺失值不大时,可以考虑丢弃该样本或者填充缺失值,当该样本存在很多缺失值时,考虑丢弃该样本,其余情况进行缺失值填充
df.dropna()直接丢掉缺失值,默认丢掉样本,即NA对应的行
df.dropna(axis = 1)直接丢掉缺失值,丢掉特征,即丢掉NA对应的列
df.dropna(thresh=4)设置阈值,要求样本至少含有4个非缺失数据,否则会丢弃
df.dropna(subset=[‘C’])仅丢掉’C’列存在缺失值的样本,其他列忽视

利用sklearn工具填充缺失值

工具:Imputer

from sklearn.preprocessing import Imputer

imr = Imputer(missing_values='NaN', strategy='mean', axis=0) #采取该特征下完整数据的平均值来填充NA
imr = imr.fit(df)
imputed_data = imr.transform(df.values)
imputed_data

2.2 填充缺失值

fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

df.fillna(0)value=0, 即用0来填充缺失值,常用于连续值的填充
df.fillna(-1)value=-1, 即用-1来填充缺失值,常用于类别型特征的填充
df.fillna(‘ffill’)method=‘ffill’,向下填充策略
df.fillna(‘bfill’)method=‘bfill’,向上填充策略
df.fillna(df.mean())平均值填充策略
df.fillna(df.median())中位数填充策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值