千家信息网

Python中缺失值怎么处理

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"Python中缺失值怎么处理",在日常操作中,相信很多人在Python中缺失值怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python中缺失
千家信息网最后更新 2026年11月04日Python中缺失值怎么处理

这篇文章主要介绍"Python中缺失值怎么处理",在日常操作中,相信很多人在Python中缺失值怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python中缺失值怎么处理"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

检测缺失值

我们先创建一个带有缺失值的数据框(DataFrame)。

import pandas as pddf = pd.DataFrame(    {'A': [None, 2, None, 4],     'B': [10, None, None, 40],      'C': [100, 200, None, 400],     'D': [None, 2000, 3000, None]})df

数值类缺失值在 Pandas 中被显示为 NaN (Not A Number)。下面看看如何判断哪些列或者哪些行有缺失值。

1.info()

info() 返回的结果中,我们只需要观察每一列对应的 Non-Null Count 的数量是否等于 RangeIndex(索引范围) 即可。

2.isnull()

isnull() 返回一个与原 DataFrame 大小(列数,行数)相同的数据框,行列对应的数据代表着该位置是否为缺失值。

df.isnull()

使用 sum() 来检测每列中的缺失值的数量。

df.isnull().sum()

通过 .T 将 DataFrame 转置,获取检测每行中缺失值的数量。

df.isnull().T.sum()

缺失值处理

删除缺失值

如果出现缺失值的行/列重要性不大的话,可以直接使用 dropna() 删除带有缺失值的行/列。

df.dropna(axis=0,          how='any',          thresh=None,          subset=None,          inplace=False)

参数含义

  • axis:控制行列的参数,0 行,1 列。

  • how:any,如果有 NaN,删除该行或列;all,如果所有值都是 NaN,删除该行或列。

  • thresh:指定 NaN 的数量,当 NaN 数量达到才删除。

  • subset:要考虑的数据范围,如:删除缺失行,就用subset指定参考的列,默认是所有列。

  • inplace:是否修改原数据,True直接修改原数据,返回 None,False则返回处理后的数据框。

指定 axis = 1,如果列中有缺失值,则删除该列。

df.dropna(axis=1, how='any')

由于每列都有缺失值,所以只剩索引。

指定 axis = 0(默认),如果行中有缺失值,则删除该行。

df.dropna(axis=0, how='any')

以 ABC 列为参照,删除这三列都是缺失值的行。

df.dropna(axis=0, subset=['A', 'B', 'C'], how='all')

保留至少有3个非NaN值的行。

df.dropna(axis=0, thresh=3)

填补缺失值

另一种常见的缺失值处理方式就是使用 fillna() 填补缺失值。

df.fillna(value=None,          method=None,          axis=0,          inplace=False,          limit=None)

1. 直接指定填充值

df.fillna(666)

2.用缺失值前/后的值填充

按前一个值填充

当method 值为 ffill 或 pad时,按前一个值进行填充。

当 axis = 0,用缺失值同一列的上一个值填充,如果缺失值在第一行则不填充。

当 axis = 1,用缺失值同一行的上一个值填充,如果缺失值在第一列则不填充。

df.fillna(axis=0, method='pad')

按后一个值填充

当method 值为 backfill 或 bfill时,按后一个值进行填充。

当 axis = 0,用缺失值同一列的下一个值填充,如果缺失值在最后一行则不填充。

当 axis = 1,用缺失值同一行的下一个值填充,如果缺失值在最后一列则不填充。

df.fillna(axis=0, method='bfill')

指定相应的方法来填充

df.fillna(df.mean())

limit限制填充次数

在ABCD列上,每列只填充第一个空值。

df.fillna(value=666, axis=1, limit=1)

到此,关于"Python中缺失值怎么处理"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

缺失 处理 数据 数量 一行 学习 检测 参数 方法 更多 索引 范围 行列 帮助 实用 相同 重要 接下来 不大 代表 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 百单网互联网科技有限公司怎么样 上海卓越科技互联网 广州紫鲸互联网科技有限公司 苏州找大状互联网科技有限公司 重庆互联网络科技 科技互联网创业计划书 上海亿帐通互联网科技 互联网对科技的发展 互联网软件和科技 移动互联网科技公司 江阴互联网智能科技产品进口 宜昌元轩互联网科技有限公司 工业互联网山东科技大学 黑科技 体验场景 互联网大会 广州燕处互联网科技有限公司 广州梦谷互联网科技有限公司领导 北京互联网科技类企业分布 长沙易易互联网科技有限公司 互联网大会出现的黑科技 互联网佳科技有限公司 互联网科技资迅 互联网科技有限公司 翻译 博兴的互联网电子科技公司 小米互联网科技园设置 晓花互联网科技有限公司网址 长沙互联网科技 黑云互联网科技有限公司 互联网科技大佬云集 优雇互联网科技有限公司
0