Pandas清洗数据删除NaN (20)

Pandas的数据清洗-删除NaN

数据清洗(Tidy Data),是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。 Pandas提供了很多的工具和函数可以对缺失、重复的数据进行相应的数据的处理。

20.1 构造缺失数据

在Pandas的各类数据Series和DataFrame里字段值为NaN的为缺失数据,不代表0而是说没有赋值数据。数据的缺失有很多原因,缺失不是错误、无效,需要对缺失的数据进行必要的技术处理,以便后续的计算、统计。

  • 构造缺失数据的DataFrame
import pandas as pd
import numpy as np
val = np.arange(10, 38).reshape(7, 4)
col = list("abcd")
idx = "cake make fake sake wake lake take".split()
df = pd.DataFrame(val, columns = col, index = idx)
print df
df["e"] = np.nan
df.at["make", "e"] = 100
df.at["wake", "e"] = 300
df.loc["jake"] = np.nan
df.at["jake", "c"] = 200
df["f"] = np.nan
print df

执行结果:

       a   b   c   d
cake  10  11  12  13
make  14  15  16  17
fake  18  19  20  21
sake  22  23  24  25
wake  26  27  28  29
lake  30  31  32  33
take  34  35  36  37
       a   b    c   d    e   f
cake  10  11   12  13  NaN NaN
make  14  15   16  17  100 NaN
fake  18  19   20  21  NaN NaN
sake  22  23   24  25  NaN NaN
wake  26  27   28  29  300 NaN
lake  30  31   32  33  NaN NaN
take  34  35   36  37  NaN NaN
jake NaN NaN  200 NaN  NaN NaN

20.2 查看缺失数据

查看缺失数据的情况可以用pandas的isnull函数看看有那些字段上的数据缺失,可以用sum进行统计。也可使用notnull和count函数统计非NaN数据量。

import pandas as pd
import numpy as np
val = np.arange(10, 38).reshape(7, 4)
col = list("abcd")
idx = "cake make fake sake wake lake take".split()
df = pd.DataFrame(val, columns = col, index = idx)
print df
df["e"] = np.nan
df.at["make", "e"] = 100
df.at["wake", "e"] = 300
df.loc["jake"] = np.nan
df.at["jake", "c"] = 200
df["f"] = np.nan
print df
print "whi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值