3.5 处理缺失值
涉及的缺失值主要有三种形式: null NaN NA
选择处理缺失值的方法
- 用覆盖全局的掩码
- 用特定的标签值表示缺失值
Pandas的缺失值
采用标签值表示缺失值
None:Python对象类型的缺失值
是Python单体对象,在代码中表示缺失值,只能用于Object对象组成的数组中的对象,不能用作任何np或pd数组类型的缺失值。
import numpy as np
import pandas as pd
vals1 = np.array([1, None, 3, 4])
vals1 # 由于有None,数组对象类型为Python的Object类型
array([1, None, 3, 4], dtype=object)
# Python类型运算性能较低,而且包括None对象将导致数值运算错误
vals1.sum()
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-3-57ce7f3f1935> in <module>() 1 # Python类型运算性能较低,而且包括None对象将导致数值运算错误 ----> 2 vals1.sum() c:\program files\python36-32\lib\site-packages\numpy\core\_methods.py in _sum(a, axis, dtype, out, keepdims) 30 31 def _sum(a, axis=None, dtype=None, out=None, keepdims=False): ---> 32 return umr_sum(a, axis, dtype, out, keepdims) 33 34 def _prod(a, axis=None, dtype=None, out=None, keepdims=False): TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
NaN:数值类型的缺失值
是在任何系统中都兼容的特殊浮点数: