pandas的空数据处理方式

 更新时间:2024年09月12日 12:30:10   作者:Enzo 想砸电脑  
数据清洗是关键步骤,尤其是处理空数据,Pandas提供.isna()识别、.dropna()删除和填充函数(如使用平均值、中位数或众数)来处理数据集中的空值,以提高数据分析的准确性,有效的空数据处理可以确保数据集的完整性和可靠性

pandas空数据处理

数据清洗是对一些没有用的数据进行处理的过程。

很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况,如果要使数据分析更加准确,就需要对这些没有用的数据进行处理。

数据准备

import pandas as pd

data = pd.read_csv(r'../input/pandas/property-data.csv')
data

1、判断空值 .isna()

data.isna()

对比可以看出:Pandas 把 NaN 当作空数据,na 和 – 不是空数据

我们可以在读取数据的时候,指定哪些属于空数据

data = pd.read_csv('../input/pandas/property-data.csv', na_values = ["NaN", "na", "--"])
data.isna()

#  统计每个特征的空值的数量,再按照空值数量降序排列
data.isna().sum().sort_values(ascending=False)

2、空值删除 .dropna()

如果我们要删除包含空字段的行,可以使用 dropna() 方法,语法格式如下

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

参数说明:

  • axis:默认为 0,表示逢空值剔除整行,如果设置参数 axis=1 表示逢空值去掉整列。
  • how:默认为 ‘any’ ,如果一行(或一列)里任何一个数据有出现 NA 就去掉整行,如果设置 how=‘all’ , 一行(或列)都是 NA 才去掉这整行。
  • thresh:设置需要多少非空值的数据才可以保留下来的。
  • subset:设置想要检查的列。如果是多个列,可以使用列名的 list 作为参数。
  • inplace:如果设置 True,将计算得到的值直接覆盖之前的值并返回 None,修改的是源数据。

假设我们要删掉 ‘ST_NUM’ 和 ‘NUM_BEDROOMS’ 中有空值的行, 并且直接在原数据里面删 ( inplace=True )

data.dropna(subset=['ST_NUM', 'NUM_BEDROOMS'], inplace=True)
data

3、空值替换 .dropna()

data['NUM_BEDROOMS'].fillna('0.0', inplace = True)
data

除了直接指定常数替换,常用的替换空单元格的方法是计算列的均值(mean:所有值加起来的平均值)、中位数值(median 排序后排在中间的数)或众数(mode 出现频率最高的数)。

1) 用平均值填充

x = data["ST_NUM"].mean()
data["ST_NUM"].fillna(x, inplace = True)
data

2) 用中位数填充

```python
x = data["ST_NUM"].median()
data["ST_NUM"].fillna(x, inplace = True)
data

3) 用众数填充

x = data["ST_NUM"].mode()
data["ST_NUM"].fillna(x, inplace = True)
data

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python实现批量提取Word文档表格数据

    Python实现批量提取Word文档表格数据

    在大数据处理与信息抽取领域中,Word文档是各类机构和个人普遍采用的一种信息存储格式,本文将介绍如何使用Python实现对Word文档中表格的提取,感兴趣的可以了解下
    2024-03-03
  • Python根据指定文件生成XML的方法

    Python根据指定文件生成XML的方法

    这篇文章主要介绍了Python根据指定文件生成XML的方法,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 将python flask项目打包成可以运行的软件的全过程(包含报错解决)

    将python flask项目打包成可以运行的软件的全过程(包含报错解决)

    这篇文章主要给大家介绍了将python flask项目打包成可以用运行的软件(包含报错解决),文中通过代码示例和图文结合讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-02-02
  • python中的tkinter库弹窗messagebox详解

    python中的tkinter库弹窗messagebox详解

    这篇文章主要介绍了python中的tkinter库弹窗messagebox,包括消息提示框、消息警告框、错误消息框,通过代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-06-06
  • 基于python神经卷积网络的人脸识别

    基于python神经卷积网络的人脸识别

    这篇文章主要为大家详细介绍了基于python神经卷积网络的人脸识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 如何在sublime编辑器中安装python

    如何在sublime编辑器中安装python

    这篇文章主要介绍了如何在sublime编辑器中安装python,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python让列表逆序排列的3种方式小结

    Python让列表逆序排列的3种方式小结

    这篇文章主要介绍了Python让列表逆序排列的3种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python selenium参数详解和实现案例

    python selenium参数详解和实现案例

    这篇文章主要介绍了python selenium参数详解和实现案例,无头模式添加,可以让selenium模拟登录,进入到后台运行,本文以登录打开公司内网下载数据为例,给大家详细讲解,需要的朋友可以参考下
    2022-10-10
  • Python网络编程之HTTP协议的python应用

    Python网络编程之HTTP协议的python应用

    HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信,这篇文章主要介绍了Python网络编程之HTTP协议的python应用,需要的朋友可以参考下
    2022-11-11
  • python进行数据合并concat/merge

    python进行数据合并concat/merge

    这篇文章主要介绍了python进行数据合并concat/merge,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09

最新评论