Pandas之Dropna滤除缺失数据的实现方法

yizhihongxing

一、Dropna的基本用法

Pandas中的dropna函数是用来滤除缺失数据的。具体如何实现呢?让我们首先来看一下dropna函数的基本用法。

函数定义:

DataFrame.dropna(
    axis=0,       # 行或列
    how='any',    # 如果遇到缺失数据对应的行或列是any或all的话将会被滤除
    thresh=None,  # 非空数据点数的阈值,取值范围为 [0,无穷大]
    subset=None,  # 包含探测缺失值的列名的 list
    inplace=False # 是否直接操作原数据集而不返回副本
)

参数解释:

  • axis(整数,默认0): 是否执行按行或列的范畴操作,axis=0按行操作,axis=1按列操作。

  • how(字符串,默认'any'): 如果遇到缺失数据对应的行或列是 any 或 all 的话将会被滤除。'any'指的是只要有一个缺失数据就删除该行或列;'all'则是只有当行或列中的数据全部为缺失数据时才删除该行或列。

  • thresh(整数,默认 None): 非空数据点数的阈值。如果某行或列中非空数据点数小于 thresh ,则认为它是一个缺失数据行或列,将该行或列滤除。

  • subset(由列名称组成的数组,默认 None): 如果指定了 subset 参数,那么 Pandas 会根据 subset 参数指定的列名来执行滤除缺失数据的操作。

  • inplace(布尔型,默认 False): 是否在原数据集的基础上直接执行操作,直接更改原来的数据,inplace=True。

下面通过一些示例说明dropna的实现方式。

使用dropna函数前,需要先导入pandas库,并构造一个数据集:

import pandas as pd

df = pd.DataFrame([['Tom', 174, 68.5], ['Jerry', 168, None], [None,None,None], ['Mary', 159, 54.5]],
                  columns=['Name', 'Height', 'Weight'])
print(df)

输出结果:

    Name  Height  Weight
0    Tom   174.0    68.5
1  Jerry   168.0     NaN
2   None     NaN     NaN
3   Mary   159.0    54.5

接着,执行dropna函数:

df = df.dropna()
print(df)

输出结果:

   Name  Height  Weight
0   Tom   174.0    68.5
3  Mary   159.0    54.5

可以看到,与原数据相比,缺失的行被滤除了。

二、指定操作按行或按列进行

dropna函数中的axis参数用于指定按行或按列操作。默认值为0,表示按行处理。下面,我们来看一下如何使用dropna函数来指定操作按列进行。

通过示例介绍,如何使用dropna函数指定按列进行处理:

import pandas as pd

df = pd.DataFrame([['Tom', 174, 68.5], ['Jerry', 168, None], [None,None,None], ['Mary', 159, 54.5]],
                  columns=['Name', 'Height', 'Weight'])
print(df)

df = df.dropna(axis=1)
print(df)

输出结果为:

   Height
0   174.0
1   168.0
2     NaN
3   159.0

由于这次指定了按列进行处理,所以滤除后的数据只剩下'Height'一列,其他列全部被滤除。

三、总结

一个数据集中如果有一些缺失的数据,那么它会影响到数据的处理与分析。因此,在数据处理和数据分析过程中,我们通常需要去掉这些缺失的数据。而dropna函数就是一个常用的滤除缺失数据的函数,其效率高、功能强大,使用方便。

关于dropna函数的详情,可以查看官方文档:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dropna.html。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas之Dropna滤除缺失数据的实现方法 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 在Pandas中突出显示每一列的最大值

    首先,在Pandas中,要突出显示每一列的最大值,可以使用style.highlight_max()方法。该方法将每列的最大值突出显示,使其易于查看和分析。 下面是详细步骤: 1.导入Pandas模块 import pandas as pd 2.创建数据 data = {‘name’: [‘Tom’, ‘Jerry’, ‘Mickey’, ‘Minnie’]…

    python-answer 2023年3月27日
    00
  • 用Python抢过年的火车票附源码

    针对这个话题,我为您提供以下完整攻略。 目标 使用 Python 抢购过年期间的火车票 准备 Python3 环境 12306 的账户和密码 chromedriver.exe 驱动程序 方法 第一步:获取 cookies 由于火车票系统需要登录才能进行查询和购票,我们需要使用 selenium 来模拟浏览器操作。 打开 12306 首页,手动登录账户,然后进…

    python 2023年5月14日
    00
  • pandas行和列的获取的实现

    当使用 Pandas 处理数据时,我们可以使用不同的方法来获取行和列。下面是一些常见的方法: 获取列 通过列名获取指定列 要使用 Panda 获取 DataFrame 中的某个列,请使用 DataFrame 的列名进行索引: # 创建一个 DataFrame import pandas as pd data = {‘name’: [‘Amy’, ‘Bob’,…

    python 2023年5月14日
    00
  • python plotly画柱状图代码实例

    下面是详细的“Python Plotly画柱状图代码实例”的攻略: 准备工作 在开始画图之前,我们需要确保准备好了以下两项工作: 安装plotly库:我们可以使用pip install plotly进行安装,如果你使用的是Jupyter Notebook,还需要使用jupyter labextension install @jupyterlab/plotly…

    python 2023年6月13日
    00
  • pandas 对series和dataframe进行排序的实例

    下面是关于“pandas对series和dataframe进行排序的实例”的完整攻略: 1. Series排序实例 1.1 构建Series对象 首先我们需要构建一个Series对象,假设我们有一个学生成绩的列表,其中包括语文、数学和英语三个科目的成绩,我们可以使用pandas的Series对象来保存这些数据: import pandas as pd sco…

    python 2023年5月14日
    00
  • 在Pandas中突出显示每一列的最小值

    在Pandas中,我们可以使用style属性来给DataFrame定制样式。下面介绍一种使用highlight_min()方法突出显示每一列最小值的方法。 首先我们需要导入pandas库: import pandas as pd 声明一个DataFrame: df = pd.DataFrame({ ‘A’: [2, 4, 3, 1, 5], ‘B’: [3,…

    python-answer 2023年3月27日
    00
  • Python实现平行坐标图的绘制(plotly)方式

    平行坐标图是一种常用的多维数据可视化方式,可以用于快速发现有趣的数据模式以及数据的异常值。Python中有许多可用于绘制平行坐标图的工具,其中一种较为流行且易于上手的工具是plotly。下面是一个完整的攻略,用于指导读者如何使用Python的plotly库绘制平行坐标图。 第一步:导入库 在本攻略中,我们将使用Python的plotly库来绘制平行坐标图。在…

    python 2023年6月13日
    00
  • 如何使用Pandas的apply()来代替

    当我们需要对Pandas的DataFrame或Series的每个元素进行操作时,可以使用apply()方法。apply()方法可以对一维、二维数据等多种数据类型进行操作。 下面是使用Pandas的apply()方法进行操作的完整攻略步骤: 步骤1:导入相关库 在开始前,需要导入Pandas库,并通过以下代码导入: import pandas as pd 步骤…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部