iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python数据分析的八种处理缺失值方法详解
  • 352
分享到

Python数据分析的八种处理缺失值方法详解

2024-04-02 19:04:59 352人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 删除有缺失值的行或列2. 删除只有缺失值的行或列3. 根据阈值删除行或列4. 基于特定的列子集删除5. 填充一个常数值6. 填充聚合值7. 替换为上一个或下一个值8. 使用

在本文中,我们将介绍 8 种不同的方法来解决缺失值问题,哪种方法最适合特定情况取决于数据和任务。欢迎收藏学习,喜欢点赞支持,技术交流可以文末加群,尽情畅聊。

让我们首先创建一个示例数据框并向其中添加一些缺失值。

在这里插入图片描述

在这里插入图片描述

我们有一个 10 行 6 列的数据框。

下一步是添加缺失值。 我们将使用 loc 方法选择行和列组合,并使它们等于“np.nan”,这是标准缺失值表示之一。

在这里插入图片描述

这是数据框现在的样子:

在这里插入图片描述

item 和 measure 1 列具有整数值,但由于缺少值,它们已被向上转换为浮点数。

pandas 1.0 中,引入了整数类型缺失值表示 (),因此我们也可以在整数列中包含缺失值。 但是,我们需要显式声明数据类型。

在这里插入图片描述

在这里插入图片描述

尽管有缺失值,我们现在可以保留整数列。

现在我们有一个包含一些缺失值的数据框。 是时候看看处理它们的不同方法了。

1. 删除有缺失值的行或列

一种选择是删除包含缺失值的行或列。

在这里插入图片描述

在这里插入图片描述

使用默认参数值,dropna 函数会删除包含任何缺失值的行。数据框中只有一行没有任何缺失值。同时我们还可以选择使用轴参数删除至少有一个缺失值的列。

在这里插入图片描述

2. 删除只有缺失值的行或列

另一种情况是有一列或一行充满缺失值。 这样的列或行是无用的,所以我们可以删除它们。

dropna 函数也可以用于此目的。 我们只需要改变 how 参数的值。

在这里插入图片描述

3. 根据阈值删除行或列

基于“any”或“all”的删除并不总是最好的选择。 我们有时需要删除具有“大量”或“一些”缺失值的行或列。

我们不能将这样的表达式分配给 how 参数,但 Pandas 为我们提供了一种更准确的方法,即 thresh 参数。

例如,“thresh=4”意味着至少有 4 个非缺失值的行将被保留。 其他的将被丢弃。

我们的数据框有 6 列,因此将删除具有 3 个或更多缺失值的行。

在这里插入图片描述

在这里插入图片描述

只有第三行有 2 个以上的缺失值,所以它是唯一一个被丢弃的。

4. 基于特定的列子集删除

在删除列时,我们可以只考虑部分列。

dropna 函数的子集参数用于此任务。 例如,我们可以删除在度量 1 或度量 2 列中有缺失值的行,如下所示:

在这里插入图片描述

在这里插入图片描述

到目前为止,我们已经看到了根据缺失值删除行或列的不同方法。放弃并不是唯一的选择。 在某些情况下,我们可能会选择填充缺失值而不是删除它们。

事实上,填充可能是更好的选择,因为数据意味着价值。 如何填补缺失值,当然取决于数据的结构和任务。

fillna 函数用于填充缺失值。

5. 填充一个常数值

我们可以选择一个常量值来替代缺失值。如果我们只给 fillna 函数一个常量值,它将用该值替换数据框中的所有缺失值。

更合理的方法是为不同的列确定单独的常量值。 我们可以将它们写入字典并将其传递给 values 参数。

在这里插入图片描述

在这里插入图片描述

item 列中的缺失值替换为 1014,而 measure 1 列中的缺失值替换为 0。

6. 填充聚合值

另一种选择是使用聚合值,例如平均值、中位数或众数。

下面这行代码用该列的平均值替换了第 2 列中的缺失值。

在这里插入图片描述

7. 替换为上一个或下一个值

可以用该列中的前一个或下一个值替换该列中的缺失值。在处理时间序列数据时,此方法可能会派上用场。 假设您有一个包含每日温度测量值的数据框,但缺少一天的温带。 最佳解决方案是使用第二天或前一天的温度。

fillna 函数的方法参数用于执行此任务。

在这里插入图片描述

在这里插入图片描述

“bfill”向后填充缺失值,以便将它们替换为下一个值。看看最后一栏。 缺失值被替换到第一行。 这可能不适合某些情况。

值得庆幸的是,我们可以限制用这种方法替换的缺失值的数量。 如果我们将 limit 参数设置为 1,那么一个缺失值只能用它的下一个值替换。 后面的第二个或第三个值将不会用于替换。

8. 使用另一个数据框填充

我们还可以将另一个数据帧传递给 fillna 函数。 新数据框中的值将用于替换当前数据框中的缺失值。

将根据行索引和列名称选择值。 例如,如果 item 列的第二行中存在缺失值,则将使用新数据框中相同位置的值。

在这里插入图片描述

在这里插入图片描述

以上是具有相同列的两个数据框。 第一个 没有任何缺失值。

我们可以使用 fillna 函数如下:

在这里插入图片描述

df 中的值将替换为 df2 中关于列名和行索引的值。

总结

缺失将永远存在于我们的生活中。 没有最好的方法来处理它们,但我们可以通过应用准确合理的方法来降低它们的影响。我们已经介绍了 8 种不同的处理缺失值的方法,使用哪一个取决于数据和任务。

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

在这里插入图片描述

到此这篇关于python数据分析的八种处理缺失值方法详解的文章就介绍到这了,更多相关Python 数据分析内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python数据分析的八种处理缺失值方法详解

本文链接: https://www.lsjlt.com/news/157694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python数据分析的八种处理缺失值方法详解
    目录1. 删除有缺失值的行或列2. 删除只有缺失值的行或列3. 根据阈值删除行或列4. 基于特定的列子集删除5. 填充一个常数值6. 填充聚合值7. 替换为上一个或下一个值8. 使用...
    99+
    2024-04-02
  • Python数据分析之缺失值检测与处理详解
    目录检测缺失值缺失值处理删除缺失值填补缺失值检测缺失值 我们先创建一个带有缺失值的数据框(DataFrame)。 import pandas as pd df = pd.Dat...
    99+
    2024-04-02
  • Python数据分析中如何处理缺失值
    小编给大家分享一下Python数据分析中如何处理缺失值,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!让我们首先创建一个示例数据框并向其中添加一些缺失值。我们有一个 10 行 6 列的数据框。下一步是添加缺失值。 我们将使用...
    99+
    2023-06-25
  • Python缺失值处理方法
    前言: 前面python重复值处理得方法我们讲了重复值是怎么处理的,今天就来说说缺失值。缺失值主要分为机械原因和人为原因。机械原因就是存储器坏了,机器故障等等原因导致某段时间未能收集...
    99+
    2024-04-02
  • Python pandas处理缺失值方法详解(dropna、drop、fillna)
    目录面对缺失值三种处理方法:对于option1:对于option 2:对于option3总结面对缺失值三种处理方法: option 1: 去掉含有缺失值的样本(行)option 2:...
    99+
    2024-04-02
  • Python处理缺失值的8种不同方法实例
    目录前言1. 删除有缺失值的行或列2. 删除只有缺失值的行或列3. 根据阈值删除行或列4. 基于特定的列子集删除5. 填充一个常数值6. 填充聚合值7. 替换为上一个或下一个值8. ...
    99+
    2024-04-02
  • Python3 DataFrame缺失值的处理方法
    目录一、缺失值的判断二、缺失值数据的过滤三、缺失值数据的填充四、缺失值的删除一、缺失值的判断 在通过Pandas做数据分析时,数据中往往会因为一些原因而出现缺失值NaN (Nota ...
    99+
    2024-04-02
  • python sklearn与pandas实现缺失值数据预处理流程详解
    注:代码用 jupyter notebook跑的,分割线线上为代码,分割线下为运行结果 1.导入库生成缺失值 通过pandas生成一个6行4列的矩阵,列名分别为'col1&#...
    99+
    2024-04-02
  • Python数据预处理时缺失值的不同处理方式总结
    目录1. 固定值填充2. 均值填充3. 中位数填充4. 插补法填充在使用python做数据分析的时候,经常需要先对数据做统一化的处理,缺失值的...
    99+
    2022-12-22
    Python数据预处理 缺失值 Python数据预处理 Python 预处理
  • Python Pandas知识点之缺失值处理详解
    前言 数据处理过程中,经常会遇到数据有缺失值的情况,本文介绍如何用Pandas处理数据中的缺失值。 一、什么是缺失值 对数据而言,缺失值分为两种,一种是Pandas中的空值,另一种是...
    99+
    2024-04-02
  • 详解pandas中缺失数据处理的函数
    目录一、缺失值类型1、np.nan2、None3、NA标量二、缺失值判断1、对整个dataframe判断缺失2、对某个列判断缺失三、缺失值统计1、列缺失2、行缺失3、缺失率四、缺失值...
    99+
    2024-04-02
  • Python查询缺失值的4种方法总结
    目录缺失值 NaN ①缺失值 NaN ②空值字符“-”、“?”等在我们日常接触到的Python中,狭义的缺失值一般指DataFrame...
    99+
    2024-04-02
  • pandas数据清洗(缺失值和重复值的处理)
    目录前言缺失值处理缺失值的判断缺失值统计缺失值筛选缺失值类型 插入缺失值缺失值填充插值填充interpolate() 的具体参数 缺失值删除 缺失值删除...
    99+
    2024-04-02
  • 处理数据缺失的结构化解决办法
    数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法。没有完美的数据插补法,但总有一款更适合当下情况。 我在数据清理与探索性分析中遇到的...
    99+
    2024-04-02
  • Python处理文本数据的方法详解
    目录前言用python处理文本数据用python处理数值型数据前言 HI,好久不见,今天是关闭朋友圈的第60天,我是野蛮成长的AC-Asteroid。 人生苦短,我用Python,通...
    99+
    2024-04-02
  • 详解用Python处理Args的3种方法
    1. sys 模块 Python 中的 sys 模块具有 argv 功能。当通过终端触发 main.py 的执行时,此功能将返回提供给 main.py 的所有命令行参数的列表。除了其...
    99+
    2024-04-02
  • Python中怎么利用KNN算法处理缺失数据
    这篇文章将为大家详细讲解有关Python中怎么利用KNN算法处理缺失数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。KNN代表" K最近邻居",这是一种简单算法,可根据...
    99+
    2023-06-16
  • 如何在Python中处理多维数组中的缺失值?
    在Python中,多维数组是一种常见的数据结构。然而,多维数组中存在的缺失值可能会影响数据的分析和处理。因此,处理多维数组中的缺失值是数据分析的一个重要步骤。本文将介绍如何在Python中处理多维数组中的缺失值。 一、什么是缺失值 缺失值是...
    99+
    2023-09-11
    二维码 大数据 数组
  • Python使用Kafka处理数据的方法详解
    目录一、安装Kafka-Python包二、生产者三、消费者四、批量发送和批量消费五、总结Kafka是一个分布式的流数据平台,它可以快速地处理大量的实时数据。Python是一种广泛使用...
    99+
    2023-05-16
    Python Kafka处理数据 Python Kafka数据 Python 处理数据 Python Kafka
  • 详解Python进行数据相关性分析的三种方式
    目录相关性实现NumPy 相关性计算SciPy 相关性计算Pandas 相关性计算线性相关实现线性回归:SciPy 实现等级相关排名:SciPy 实现等级相关性:NumPy 和 Sc...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作