打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
pandas中的缺失值处理
在真实的数据中,往往会存在缺失的数据。pandas在设计之初,就考虑了这种缺失值的情况,默认情况下,大部分的计算函数都会自动忽略数据集中的缺失值,同时对于缺失值也提供了一些简单的填充和删除函数,常见的几种缺失值操作技巧如下
1. 默认的缺失值

当需要人为指定一个缺失值时,默认用None和np.nan来表示,用法如下

>>> import numpy as np
>>> import pandas as pd
# None被自动识别为NaN
>>> pd.Series([1, 2, None])
0 1.0
1 2.0
2 NaN
# np.nan被自动识别为NaN
>>> pd.Series([1, 2, np.nan])
0 1.0
1 2.0
2 NaN
dtype: float64
2. 缺失值的判断

为了针对缺失值进行操作,常常需要先判断是否有缺失值的存在,通过isna和notna两个函数可以快速判断,用法如下

>>> a = pd.Series([1, 2, None, 3])
>>> a
0    1.0
1    2.0
2    NaN
3    3.0
dtype: float64
# is.na 方法,如果为NaN, 返回True, 否则返回False
>>> a.isna()
0    False
1    False
2     True
3    False
dtype: bool

# notnat方法,如果为NaN, 返回False, 否则返回True
>>> a.notna()
0     True
1     True
2    False
3     True
dtype: bool

3. 缺失值的填充

通过fillna方法可以快速的填充缺失值,有两种填充方式, 用法如下

>>> a = pd.Series([1, 2, None, 3])
>>> a
0 1.0
1 2.0
2 NaN
3 3.0
dtype: float64

#
 value参数,表示用一个指定的值来替换缺失值
>>> a.fillna(value=1)
0 1.0
1 2.0
2 1.0
3 3.0
dtype: float64
# method参数,指定一种方法来填充缺失值
# pad方法,表示用NaN前面一个值来进行填充
>>> a.fillna(method = 'pad')
0 1.0
1 2.0
2 2.0
3 3.0
dtype: float64

#
 bfill法,表示用NaN后面一个值来进行填充
>>> a.fillna(method = 'bfill')
0 1.0
1 2.0
2 3.0
3 3.0
dtype: float64
fillna也可以对DataFrame进行操作,示意如下
>>> df = pd.DataFrame({'A':[1, 2, None], 'B':[1, np.nan, 3]})
>>> df
     A B
0 1.0 1.0
1 2.0 NaN
2 NaN 3.0
# 对每一列的NaN值,依次用对应的均值来填充
>>> df.fillna(df.mean())
     A B
0 1.0 1.0
1 2.0 2.0
2 1.5 3.0

4. 缺失值的删除

通过dropna方法来快速删除NaN值,用法如下

>>> a.dropna()
0 1.0
1 2.0
dtype: float64

#
 dropna操作数据框时,可以设置axis参数的值
# 默认为0,表示去除包含 了NaN的行
# axis=1,表示去除包含了NaN的列
>>> df = pd.DataFrame({'A':[1, 2, None], 'B':[1, np.nan, 3]})
>>> df
     A B
0 1.0 1.0
1 2.0 NaN
2 NaN 3.0
>>> df.dropna()
     A B
0 1.0 1.0
>>> df.dropna(axis=0)
     A B
0 1.0 1.0
>>> df.dropna(axis=1)
Empty DataFrame
Columns: []
Index: [0, 1, 2]

pandas中的大部分运算函数在处理时,都会自动忽略缺失值,这种设计大大提高了我们的编码效率。同时,通过简单上述几种简单的缺失值函数,可以方便地对缺失值进行相关操作。

·end·

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
小白也能看懂的Pandas实操演示教程(下)
pandas 缺失数据处理大全(附代码)
python小技能-缺失数据处理
从数据清洗到机器学习:Python缺失值处理指南
Pandas中文官档 ~ 基础用法1
Python 数据处理库 pandas 入门教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服