【机器学习】019_缺失值处理

目标:

· 应用isnull判断缺失数据NaN是否存在

· 应用fillna填充缺失数据

· 应用dropna删除缺失数据

· 应用replace替换缺失数据

首先判断缺失值的标记方式(NaN或者其它标记方式)

· 如果标记方式为NaN

        判断数据中是否包含NaN:

        · pd.isnull(df)(存在缺失值返回True)

        · pd.notnull(df)(不存在缺失值返回True)

        存在缺失值NaN

        · 删除存在缺失值:dropna(axis='rows')

                · 注意,不会修改原数据,需要接收返回值

        · 替换缺失值:fillna(value, inplace=True)

                · value:替换值;

                · inplace:若为True则修改原数据,若为False则会返回新对象;

# 读取电影数据
movie = pd.read_csv("./data/IMDB-Movie-data.csv")
# 判断缺失值是否存在
print(np.all(pd.notnull(movie)))
# 存在缺失值NaN
# 删除:
movie.dropna()
data = movie.dropna()
# 替换:
# 替换存在缺失值的样本的两列
# 替换填充平均数、中位数
# movie['Revenue(Millions)'].fillna(movie['Revenue(Millions)'].mean(), inplace=True)
for i in movie.columns:
    if np.all(pd.notnull(movie[i])) == False:
        print(i)
        movie[i].fillna(movie[i].mean(), inplace=True)

· 如果标记方式是其它方式

        将其它标记方式替换为NaN标记,然后继续处理

        · df.replace(to_replace=, value=)

                · to_replace:替换前的值

                · value:替换后的值

# 使用另一种标记方法
# 将另一种标记方式(“?”)替换为NaN
movie = movie.replace(to_replace='?', value=np.nan)
# 再进行缺失值处理
data = movie.dropna()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值