首页 > Pandas 阅读数:9

Pandas Series对象处理缺失值

在我们遇到的一些数据中会有缺失值的情况,我们会将这些缺失值删除或者插入其他值替代。Series 对象提供了相应的方法,示例代码如下。
In [1]: import pandas as pd
In [2]: a=pd.Series([1,None,3])

1. isna()处理缺失值

isna 方法可以用来判断哪一个元素是缺失值,如果是缺失值则返回 True,如果不是则返回 False。
In [3]: a.isna()  # 是否为缺失值,是则返回真
Out[3]: 
0    False
1     True
2    False
dtype: bool

2. notna()处理缺失值

notna 方法是 isna 方法的逆函数,如果是缺失值则返回 False,如果不是则返回 True。
In [4]: a.notna()  # 是否为缺失值,否则返回真
Out[4]: 
0     True
1    False
2     True
dtype: bool

3. dropna()删除缺失值

dropna 方法可以删除元素为缺失值的记录。
In [5]: a.dropna()  # 删除缺失值
Out[5]: 
0    1.0
2    3.0
dtype: float64 

4. fillna()填充缺失值

我们可以调用 fillna 方法对缺失值进行填充,比如可以用 2 来填充缺失值。
In [6]: a.fillna(2)  # 填充缺失值
Out[6]: 
0    1.0
1    2.0
2    3.0
dtype: float64

5. interpolate()插值处理法

另外一个填充缺失值的方法是调用 interpolate 方法,相对于直接填充缺失值的方法,interpolate 方法可以根据上下关系进行插值。
In [7]: a.interpolate()  # 插值法填充缺失值
Out[7]: 
0    1.0
1    2.0
2    3.0
dtype: float64