说到缺失值处理无非两种,delete或者fill:
dropna 根据各标签的值中是否存在缺失数据对轴标签进行过滤,可通过阈值调节对缺失值得容忍度
drop 见http://www.cnblogs.com/zenan/p/8404964.html
fillna 用指定值或插值方法(如ffill和bfill)填充缺失数据
isnull 返回一个含有布尔值的对象,这些布尔值表示哪些值是缺失值NA,该对象的类型与源类型一样
notnull isnull的否定式
重点说一说fillna:
DataFrame.
fillna
(value = None,method = None,axis = None,inplace = False,limit = None,downcast = None,** kwargs )
value:标量,字典,系列或DataFrame
用于填充孔的值(例如0),或者是指定为每个索引(对于Series)或列(对于DataFrame)使用哪个值的字典/ Series / DataFrame。(不在dict / Series / DataFrame中的值不会被填充)。这个值不能是一个列表。
method:{‘backfill‘,‘bfill‘,‘pad‘,‘ffill‘,None},默认无
用于填充重新编制索引的方法Series pad / ffill:将最后一个有效观测向前传播到下一个有效回填/填充:使用NEXT有效观察填充间隙
asix:{0或‘索引‘,1或‘列‘}
inplace:布尔值,默认为False
如果为True,请填写。注意:这将修改此对象上的任何其他视图(例如DataFrame中的列的无副本切片)。
limit:int,默认无
如果指定了方法,则这是连续的NaN值的前向/后向填充的最大数量。换句话说,如果连续NaN数量超过这个数字,它将只被部分填充。如果未指定方法,则这是沿着整个轴的最大数量,其中NaN将被填充。如果不是无,则必须大于0。
downcast:dict,默认为None
如果可能的话,item-> dtype的字典,或者字符串‘infer‘,它将尝试向下转换为合适的相等类型(例如,如果可能的话,从float64到int64)