Pandas缺失值处理-泰坦尼克号案例

一、pandas 判断缺失值

# pandas 提供了两组方法,是否判断为空
#isnull 或isna()   nonull 或者notna
import  pandas as pd
# 判断是否为空
print(pd.isnull(NAN))   # True
print(pd.isnull(NaN))   # True
print(pd.isnull(nan))   # True
print(pd.isnull(10))    # False
print('-' * 31)
print(pd.isna(NAN))   # True
print(pd.isna(NaN))   # True
print(pd.isna(nan))   # True
print(pd.isna(10))    # False

二、导入数据

1.导入泰坦尼克号包

# 加载数据,准备的是泰坦尼克号的测试数据
train = pd.read_csv('data/titanic_train.csv')

2.展示部分数据

train.head()

 2.1 查看是否获救的数据 即查看Survived列的值
train['Survived'].value_counts()   #分组并计数
# 1 是获救的  0是没有获救的

 2.2 查看每列的信息,缺失等 

# 导包 通过missingno  库 查看空值
import missingno as msno
msno.bar(train) #  柱状图

 2.3 统计非空值个数
train1 = train.copy()
# 具体的删除动作,subset:  删除时,参考哪列的值. how:删除方式 ,any 任意一项为空即删除  all 所有为空才删除  inplace  是是否替换源数据
train1.dropna(subset=['Age'],how= 'any',inplace=True)
train1['Age'].isnull().count()
train1

 age里面的空值被删除,为后继添加数据,方便预测

3. 添加缺失值

# 填充缺失值
# 解释 填充缺失值就是我们自己估一个值  然后填充到NaN的部分  
# 场景一:  非时间序列填充
# 填充一个平均值
# 用平均值,填充空值
train_mean = train.copy()
# 用平均值填充空值
train_mean.fillna(train_mean['Age'].mean(),inplace=True)

 

 Age数据中的空值被35填充

 1.统计空值的个数
train_constant.isnull().count()  #只要非null 就加一

 

 已经无缺失值 被平均值填满

2.柱状图展示数据


总结

在做数据处理的时候数据难免会有丢失,以至于失去参考价值,我们可以手动添加一些估值,方法很多本文章只用平均值进行了填充.

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值