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

一、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日

相关文章

  • pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例

    pyspark和pandas都是处理数据的优秀工具。pyspark主要用于分布式数据处理,而pandas主要用于单机数据处理。pyspark.sql.DataFrame和pandas.DataFrame是两种数据结构,它们都可以用于数据的处理和分析,但是在不同场景下需要进行数据的转换。下面介绍pyspark.sql.DataFrame和pandas.Data…

    python 2023年5月14日
    00
  • Pandas DataFrame数据修改值的方法

    当我们使用Pandas进行数据分析时,经常需要对DataFrame中的数据进行修改。Pandas提供了多种修改DataFrame数据的方法,本文将针对这些方法进行详细讲解。 概述 DataFrame是Pandas最核心的数据结构之一,它是一个类似于二维数组的结构,其中包含了行索引和列索引,每个单元格存放一个数据元素。下面是一个示例DataFrame: imp…

    python 2023年5月14日
    00
  • 使用merge()连接两个Pandas DataFrames

    使用merge()函数连接两个Pandas DataFrames的过程如下: 准备数据 假设我们有两个数据集,分别是employees和departments。employees数据集包含雇员的基本信息,而departments数据集包含部门的基本信息。 import pandas as pd # 定义employees数据集 employees = pd.…

    python-answer 2023年3月27日
    00
  • pandas 像SQL一样使用WHERE IN查询条件说明

    下面我将详细讲解pandas如何像SQL一样使用WHERE IN查询条件。 SQL中的WHERE IN查询条件 在SQL中,WHERE IN查询条件用于筛选出某一列中包含指定多个值的行,其语法形式通常如下: SELECT * FROM table_name WHERE column_name IN (value1, value2, value3, …);…

    python 2023年5月14日
    00
  • pandas.DataFrame Series排序的使用(sort_values,sort_index)

    下面是有关pandas.DataFrame和Series排序的使用攻略。 pandas.DataFrame和Series排序 pandas是一种强大的数据处理工具,它可以让我们轻松地对数据进行排序和分析。DataFrame和Series都是常用的数据结构类型,pandas提供了多种方式对DataFrame和Series进行排序,常用的有sort_values…

    python 2023年5月14日
    00
  • Python数据分析之pandas函数详解

    Python数据分析之pandas函数详解 本文主要讲解pandas在数据分析中的常用函数,包括数据读入、数据清洗、数据处理、数据可视化等方面的函数用法和示例。 数据读入 pandas中读取文件的函数十分灵活,包括read_csv、read_excel、read_sql等函数,可以读取多种格式的文件和数据库。下面给出一个以read_csv为例读取csv文件的…

    python 2023年5月14日
    00
  • 从Pandas DataFrame中删除一个行的列表

    要从Pandas DataFrame中删除一个或多个行,可以使用drop()方法。要删除多行,可以将待删除行索引存储在列表中并传递给drop()方法。下面是一个基本的示例: import pandas as pd # 创建一个简单的数字DataFrame df = pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘…

    python-answer 2023年3月27日
    00
  • pandas通过loc生成新的列方法

    Pandas是Python中用于数据处理和分析的强大工具,通过使用loc方法,可以生成新的列。下面是通过loc生成新的列方法的完整攻略: 步骤1: 导入pandas模块 首先需要导入pandas模块 import pandas as pd 步骤2: 创建DataFrame 接下来创建一个包含数据的DataFrame data = {‘name’:[‘Tom’…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部