处理丢失的数据


import numpy as np
import pandas as pd
from pandas import Series,DataFrame

有两种丢失数据:
None

np.nan(NaN)

1. None
None是Python自带的,其类型为python object。因此,None不能参与到任何计算中。

a=np.array([1,None,3,4])
a.sum()    #None不能参与到计算中,会报错

2. np.nan(NaN)
np.nan是浮点类型,能参与到计算中。但计算的结果总是NaN。

a=np.array([1,np.nan,3,4])
a.sum()

nan

np.nansum(a)

8.0

3. pandas中的None与NaN
1) pandas中None与np.nan都视作np.nan

2) pandas中None与np.nan的操作
isnull()
notnull()
dropna(): 过滤丢失数据
fillna(): 填充丢失数据
(1)判断函数
isnull()
notnull()

(2) 过滤函数
dropna()

删除所有的空值

(3) 填充函数
fillna()

data.fillna(0)   #空值用0来填充

data.fillna(method='ffill')   #空值用前一个值来填充

data.fillna(method='bfill')   #空值用后一个值来进行填充

对于DataFrame来说,还要选择填充的轴axis。记住,对于DataFrame来说:
axis=0:列
axis=1:行

df.fillna(method='ffill',axis=0)    #按照该列的前一列的值来进行填充

fillna(method='ffill',axis=1)    #按照该行的前一个值来进行填充

发布了39 篇原创文章 · 获赞 16 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章