pandas数据缺失的两种处理办法

 更新时间:2024年12月30日 11:18:12   作者:右拐三次就是左  
本文主要介绍了在pandas中处理数据缺失和0值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

数据缺失通常有两种情况:

  • 空,None等,在pandas是NAN(和np的nan一样)
  • 另一种就是0

1.为NaN数据的处理

1.判断这列有没有NaN

has_nan = df['age'].isnull().any()
print(has_nan)

或者直接在控制台根据数据进行判断

在这里插入图片描述

2.处理方式

在这里插入图片描述

假设我 操作的是original_publication_year这一列,如何操作才能得到过滤后的显示样式

在这里插入图片描述

处理方式1:只考虑单列

df2 = df[pd.notnull(df["original_publication_year"]) 

这行代码的目的是 去除 original_publication_year 列中含有 NaN 值的行,并生成一个新的 DataFrame(df2),包含了所有 original_publication_year 列中不含 NaN 值的行。

3. df["original_publication_year"] 是获取 df 数据框中的 original_publication_year 这一列。

4. pd.notnull(df["original_publication_year")用于检查数据中的每个元素是否不是 NaN。返回一个布尔值的 Series.
True 的行会被保留;
False 的行会被排除(Book2何Book4被去除)。

5. 返回一个所有 original_publication_year 列中不是NaN 的行新的DataFrame

处理方式2:删除NaN所在的行

dropna(axis=0,how='any',inplace=False)

any表示有就删,all表示全部是NaN才删
inplace表示是否进行原地修改

处理方式3:填充数据

mean_value = df["original_publication_year"].mean()  # 计算均值
df_filled=df["original_publication_year"].fillna(mean_value)

在这里插入图片描述

t.fillna(t.mean()) #填充均值
t["列名"]=t["列名"].fillna(t["列名"].mean())
#单独对某一列进行操作
t.fiallna(t.median()) #填充中值
t.fillna(0)

2:为0数据的处理

t[t==0]=np.nan # 赋值为NaN
# 当然并不是每次为0的数据都需要处理
# 计算平均值等情况,nan是不参与计算的,但是0会的

设置成NaN后用处理NaN的方法处理。

到此这篇关于pandas数据缺失的处理办法解决的文章就介绍到这了,更多相关pandas数据缺失内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python3.7实现中控考勤机自动连接

    Python3.7实现中控考勤机自动连接

    这篇文章主要为大家详细介绍了Python3.7实现中控考勤机自动连接,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python中的字典使用分享

    python中的字典使用分享

    Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何操作字典,希望大家能够喜欢
    2016-07-07
  • Python 元类使用说明

    Python 元类使用说明

    元类就是类的模板——太形象了了呀,霍霍。
    2009-12-12
  • Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法

    Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法

    这篇文章主要介绍了Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • ubuntu16.04升级Python3.5到Python3.7的方法步骤

    ubuntu16.04升级Python3.5到Python3.7的方法步骤

    这篇文章主要介绍了ubuntu16.04升级Python3.5到Python3.7的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 基于Python实现AI垃圾邮件识别系统

    基于Python实现AI垃圾邮件识别系统

    Python作为AI开发的主流语言,其丰富的生态系统和简洁的语法使其成为机器学习和深度学习的首选工具,下面我们就来看看如何使用Python实现AI垃圾邮件识别系统吧
    2026-05-05
  • 在pycharm中实现删除bookmark

    在pycharm中实现删除bookmark

    今天小编就为大家分享一篇在pycharm中实现删除bookmark,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python结合FastAPI搭建一个接口实现自动生成文档

    Python结合FastAPI搭建一个接口实现自动生成文档

    这篇文章主要为大家详细介绍了Python如何结合FastAPI搭建一个接口,可以实现自动生成文档,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-12-12
  • Python基础实战总结

    Python基础实战总结

    今天要给大家介绍的是Python基础实战,本文主要以举例说明讲解:问题的关键点就是在于构造姓名,学号和成绩,之后以字典的形式进行写入文件。这里准备两个列表,一个姓,一个名,之后使用random库进行随机字符串拼接,得到姓名,需要的朋友可以参考一下
    2021-10-10
  • 如何使用Python实现一个简单的window任务管理器

    如何使用Python实现一个简单的window任务管理器

    这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03

最新评论