pandas处理缺失值

1、处理缺失值

pandas使用浮点值NaN(Not a Number来表示缺失值),pandas的目标之一就是尽可能无痛地处理缺失值,例如:pandas对象的所有描述性统计信息默认情况下是排除缺失值的。

NaN的常用处理方法:
dropna 根据每个标签的值是否缺失数据来筛选轴标签,并根据允许丢失的数据量来确定阀值。
fillna 用某些值填充缺失的数据或使用插值方法,如:‘ffill’用前一个值填充,‘bfill’用后一个值来填充。当第一个值是NaN时,指定参数‘ffill’后依然是NaN,因为前面没有参考值。当最后一个值是NaN时指定‘bfill’同理。
isnull 返回表明那些值是缺失值的布尔值
notnull isnull的反函数

  1. 过滤缺失值
    方法: dropna(axis=0, how=“any”, thresh=None, subset=None, inplace=False)
    axis参数指定删除的轴向。默认是axis=0,逐行删除。axis值为1时,逐列删除。
    how参数默认是‘any’,当前行、列有任意1个NaN值即过滤当前行、列,参数为‘all’时仅过滤所有值都为‘NaN’的行或列。
    thresh=n表示当前行、列至少保留n个非NaN的值的数据。
    inplace 表示是否就地改值,为True时就地改值,无返回值,为False时返回过滤后的新值。

a、dropna()不指定参数时默认逐行过滤有NaN的行。返回过滤后的值。

pf = pd.read_excel(path)
print(pf)
print(pf.dropna())

打印如下:

       number name  sex  age
0  20200019.0   陈俊    男   19
1  20200019.0   赵华  NaN   18
2  20200019.0  NaN    男   18
3         NaN   周睫  NaN   19
4  20200019.0   张凯    男   19

       number name sex  age
0  20200019.0   陈俊   男   19
4  20200019.0   张凯   男   19

b、dropna(how=‘all’)时,将删除所有值均为NaN的行。

pf = pd.read_excel(path)
pf.loc[5] = np.nan #增加一行全为NaN的行
print(pf)
print(pf.dropna(how='all'))

打印如下:

       number name  sex   age
0  
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值