无论是机器学习还是深度学习,在数据预处理阶段经常会遇到对缺失值、离群值以及重复数据的处理。
# 导入所需要的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
本节介绍对缺失值的规范、删除和替换操作。
pandas中缺失值的默认值使用NaN(Not a Number)。python中的内置常数None也看作缺失值处理。
1 缺失值的生成与判断
NaN对象可以使用Numpy数组的常数numpy.nan生成
> DataFrame 类的isna方法
> pandas 中inf 、-inf的处理
无穷大浮点数inf .pandas 默认不会处理正的inf和-inf,但可以对设置进行更改。
生成方式:(1)python内置float函数;(2)numpy.inf.
pandas中有可以对设置进行变更的选项pd.options属性。使用pd.options.mode.use_inf_as_na来控制是否将inf和-inf作为缺失值来处理(默认False):
>np.nan 与None
在numpy中使用“==”运算符进行比较时,NaN和None(看做NaN,且NaN! = NaN)是False;python中None是True。
运算符“==”无法将DataFrame或者Series中的对象提取出来,因此会将所有元素返回False.