pandas入门——数据缺失值处理

数据缺失值处理

  • 将含有NaN值的行删除

# 导入pandas与numpy包
import pandas as pd
import numpy as np

# 创建时间序列
date1 = pd.date_range("20170813",periods=6)
df  = pd.DataFrame(data=np.random.randint(3,9,size=(6,9)),index=date1,columns=np.arange(9))

#将第4行第5列数据赋值为nan  将第5行第7列数据赋值为nan
df.iloc[4,5] = np.nan
df.iloc[5,7] = np.nan

pprint(df)
            0   1   2   3   4   5   6   7   8
2017-08-13  8   3   5   3   3   3.0 4   3.0 4
2017-08-14  8   6   8   8   8   5.0 6   5.0 6
2017-08-15  4   6   5   5   4   6.0 7   6.0 8
2017-08-16  3   3   3   3   6   7.0 4   7.0 5
2017-08-17  6   6   8   3   8   NaN 7   7.0 6
2017-08-18  4   7   4   4   3   4.0 3   NaN 6
# 将含有NaN值的行删除
print(df.dropna(axis=0,how="any"))
            0   1   2   3   4   5   6   7   8
2017-08-13  8   3   5   3   3   3.0 4   3.0 4
2017-08-14  8   6   8   8   8   5.0 6   5.0 6
2017-08-15  4   6   5   5   4   6.0 7   6.0 8
2017-08-16  3   3   3   3   6   7.0 4   7.0 5
  • 将含有NaN值的列删除
print(df.dropna(axis=1,how="any"))

            0   1   2   3   4   6   8
2017-08-13  8   3   5   3   3   4   4
2017-08-14  8   6   8   8   8   6   6
2017-08-15  4   6   5   5   4   7   8
2017-08-16  3   3   3   3   6   4   5
2017-08-17  6   6   8   3   8   7   6
2017-08-18  4   7   4   4   3   3   6
  • 将NaN值进行填充
# 将NaN值使用0进行填充
print(df.fillna(value=0))

            0   1   2   3   4   5   6   7   8
2017-08-13  8   3   5   3   3   3.0 4   3.0 4
2017-08-14  8   6   8   8   8   5.0 6   5.0 6
2017-08-15  4   6   5   5   4   6.0 7   6.0 8
2017-08-16  3   3   3   3   6   7.0 4   7.0 5
2017-08-17  6   6   8   3   8   0.0 7   7.0 6
2017-08-18  4   7   4   4   3   4.0 3   0.0 6
  • 判断数据集中是否含有缺失值
# 返回数据集大小的数据  适合小数据集
print(df.isnull())

            0   1   2   3   4   5   6   7   8
2017-08-13  False   False   False   False   False   False   False   False   False
2017-08-14  False   False   False   False   False   False   False   False   False
2017-08-15  False   False   False   False   False   False   False   False   False
2017-08-16  False   False   False   False   False   False   False   False   False
2017-08-17  False   False   False   False   False   True    False   False   False
2017-08-18  False   False   False   False   False   False   False   True    False
# 判断数据集中是否含有缺失值 大数据集情况下  np.any()函数用来判断一个数据集中是否含有True值
print(np.any(df.isnull()))
True
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值