Pandas之四缺失数据处理
在实际的数据处理过程当中,不可避免地会遇到有部分数据缺失。比如在分析股票行情数据时,有部分股票有时会停牌就会出现行情数据缺失的情况。
一般在pandas中将缺失值以np.nan
来表示,其好处是会在计算时忽略,同时其类型是float
,不影响总体数据计算。数据分析时就要处理这些缺失值,pandas提供了缺失数据处理方法,包括删除缺失值、缺失值填充、缺失值判断等。
首先在前文数据上,生成新的dataframe:
删除缺失值
使用.dropna
删除缺失值,可以针对整个dataframe,也可以针对某列或某行
1. 从整个df删除缺失值
常用参数how
:any指只要某行存在缺失值,即将该行删除;all指某行全部都是缺失值才删除。
如下图,指定为all时,只删除了2021-09-07
行的数据
2. 从某列删除缺失值
将E列的缺失数据删除掉
3. 从某行删除缺失值
将2021-09-03
的缺失数据删除掉
缺失值填充
使用.fillna
为缺失值填充数据,可以为dataframe所有缺失值填充数据,也可以为某行或某列填充数据
1. 为df所有缺失值填充数据
2. 为某列填充缺失值
选取dataframe中的E列,将其中的缺失值填充为9
3. 为某行填充缺失值
将dataframe中2021-09-07
行的缺失值以9来填充
缺失值判断
pandas提供.isna
对缺失值进行判断,若是缺失值返回为True,否则返回False。可以对dataframe所有缺失值进行判断,也可以针对某行或某列做判断
1. 对df所有缺失值进行判断
2. 对某列缺失值进行判断
针对dataframe中的E列数据做缺失值判断
3. 对某行缺失值进行判断
选取2021-09-01
与2021-09-03
之间的数据进行缺失值判断
欢迎关注微信公众号:数据研发技术,收获各类数据研发技术干货