pandas 缺失值處理
說到缺失值處理無非兩種,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)
pandas 缺失值處理