Pandas入门(5)

处理缺失数据

  缺失数据在数据分析应用中比较常见。pandas对象上的所有描述统计都排除了缺失数据。

  Pandas使用浮点值NAN(Not a Number)表示浮点和非浮点数组中的缺失数据。它只是一个便于检测的标记而已。Python内置的None值也会被当做NA处理。

  由于Numpy的书籍类型中缺乏真正的NA数据类型或位模式,所以Pandas中的处理是简单而可靠的。

处理NA方法

方法说明
dropna根据各标签的值中是否存在缺失数据对轴标签进行过滤,可通过阈值调节对缺失值的容忍度
fillna用指定值或插值方法(如ffill或bfill)填充缺失数据
isnull返回一个含有布尔值的对象,这些布尔值表示哪些数据是缺失值,该对象的类型与源类型一样
notnullisnull的否定式
1. 过滤缺失数据

  过滤掉缺失数据,可以选择手动删除,但使用dropna在处理大量数据时会更加实用。对于一个Series,dropna返回一个仅含非空数据和索引值的Series,当然也可以使用布尔索引达到这个目的。

  而对于DataFrame对象,dropna将会默认丢弃任何含有缺失值的行,传入how=‘all’ 将只丢弃全为NA的那些行,如果想丢弃列,仍然只需传入 axis=1即可。

  另一个滤除DataFrame行的问题涉及时间序列数据。假设只想留下一部分观测数据,可以使用thresh参数实现此目的。

2.填充缺失数据

  有时候我们可能不想或者不能丢弃整行整列,因为那样可能会失去跟它有关的其他有效的数据,能想到的方法就是给它一个默认值使其不在为空。fillna方法就是一个这样的函数,通过一个常数调用fillna就会将缺失值替换为那个常数值。

  • 若是通过一个字典调用fillna,既可以实现对不同的列填充不同的值
  • fillna默认会返回新的对象,但也可以对现有对象进行原地修改(inplace=True)
  • 对reindex有效的插值方法也可以用于fillna

fillna函数的参数

参数说明
value用于填充缺失值的标量值或字典对象
method插值方式。如果函数调用时未指定其他参数的话,默认为‘ffill’
axis待填充的轴,默认axis=0
inplace修改调用者对象而不产生副本
limit(对于前向或后向填充)可以连续填充的最大数量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值