Python Pandas删除替换并提取其中的缺失值NaN(dropna,fillna,isnull)

yizhihongxing

Python Pandas删除、替换并提取其中的缺失值NaN

在Python的数据处理中,很可能会遇到包含缺失值的数据。处理缺失值是数据清洗的重要步骤之一。在Python Pandas中,可以使用dropna、fillna、isnull等函数来处理缺失值NaN。下面详细讲解这几个函数的用法。

dropna函数

dropna函数可以删除包含缺失值的行或列。其中参数axis表示操作方向,分别为0和1,默认为0。当axis=0时,删除行;当axis=1时,删除列。同时参数how表示删除方式,有两种取值,分别为any和all。当how=any时,删除包含任意一个缺失值的行/列;当how=all时,删除全为缺失值的行/列。具体用法如下:

import pandas as pd

# 构建一个包含缺失值的数据框
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [np.nan, 4, np.nan], 'C': [5, 6, np.nan]})
print("原始数据为:")
print(df)

# 删除包含缺失值的行
new_df1 = df.dropna(axis=0, how='any')
print("删除包含缺失值的行后的数据为:")
print(new_df1)

# 删除全为缺失值的行
new_df2 = df.dropna(axis=0, how='all')
print("删除全为缺失值的行后的数据为:")
print(new_df2)

# 删除包含缺失值的列
new_df3 = df.dropna(axis=1, how='any')
print("删除包含缺失值的列后的数据为:")
print(new_df3)

# 删除全为缺失值的列
new_df4 = df.dropna(axis=1, how='all')
print("删除全为缺失值的列后的数据为:")
print(new_df4)

上述代码中,我们首先构建了一个包含缺失值的数据框df,并对其进行了相关操作。经过上述代码的操作后,打印出如下结果:

原始数据为:
     A    B    C
0  1.0  NaN  5.0
1  2.0  4.0  6.0
2  NaN  NaN  NaN
删除包含缺失值的行后的数据为:
     A    B    C
1  2.0  4.0  6.0
删除全为缺失值的行后的数据为:
     A    B    C
0  1.0  NaN  5.0
1  2.0  4.0  6.0
2  NaN  NaN  NaN
删除包含缺失值的列后的数据为:
Empty DataFrame
Columns: []
Index: [0, 1, 2]
删除全为缺失值的列后的数据为:
Empty DataFrame
Columns: []
Index: [0, 1, 2]

从以上结果可以看出,我们分别对包含缺失值的行、全为缺失值的行、包含缺失值的列、全为缺失值的列进行了删除操作,并打印出了结果。

fillna函数

fillna函数可以将缺失值替换为给定的值。其中参数value表示替换的值,可以是常量或者字典类型数据。同时,参数method表示插值方法,可以使用ffill(前向填充)、bfill(后向填充)等方法对缺失值进行插值。具体用法如下:

import pandas as pd
import numpy as np

# 构建一个包含缺失值的数据框
df = pd.DataFrame({'A': [1, np.nan, 2], 'B': [3, np.nan, 4], 'C': [5, np.nan, 6]})
print("原始数据为:")
print(df)

# 替换缺失值为0
new_df1 = df.fillna(value=0)
print("缺失值替换为0后的数据为:")
print(new_df1)

# 前向填充
new_df2 = df.fillna(method='ffill')
print("前向填充后的数据为:")
print(new_df2)

上述代码中,我们分别对缺失值进行了替换、前向填充,并打印出了结果。经过上述代码的操作后,打印出如下结果:

原始数据为:
     A    B    C
0  1.0  3.0  5.0
1  NaN  NaN  NaN
2  2.0  4.0  6.0
缺失值替换为0后的数据为:
     A    B    C
0  1.0  3.0  5.0
1  0.0  0.0  0.0
2  2.0  4.0  6.0
前向填充后的数据为:
     A    B    C
0  1.0  3.0  5.0
1  1.0  3.0  5.0
2  2.0  4.0  6.0

从以上结果可以看出,我们分别对缺失值进行了替换、前向填充操作,并打印出了结果。

isnull函数

isnull函数可以提取数据中的缺失值,并返回一个布尔类型的数据框,True表示缺失值,False表示非缺失值。具体用法如下:

import pandas as pd
import numpy as np

# 构建一个包含缺失值的数据框
df = pd.DataFrame({'A': [1, np.nan, 2], 'B': [3, np.nan, 4], 'C': [5, np.nan, 6]})
print("原始数据为:")
print(df)

# 提取缺失值
new_df = df.isnull();
print("提取缺失值的结果为:")
print(new_df)

上述代码中,我们提取了数据框df中的缺失值,并打印出了结果。经过上述代码的操作后,打印出如下结果:

原始数据为:
     A    B    C
0  1.0  3.0  5.0
1  NaN  NaN  NaN
2  2.0  4.0  6.0
提取缺失值的结果为:
       A      B      C
0  False  False  False
1   True   True   True
2  False  False  False

从以上结果可以看出,我们成功提取了数据框df中的缺失值,并打印出了结果。

综上所述,我们可以通过dropna、fillna、isnull等函数删除、替换并提取其中的缺失值NaN,从而完成数据清洗的相关操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Pandas删除替换并提取其中的缺失值NaN(dropna,fillna,isnull) - Python技术站

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

相关文章

  • pandas基础 Series与Dataframe与numpy对二进制文件输入输出

    pandas基础 什么是pandas? pandas是一个开源的python数据分析库,它提供了快速、灵活和富于表现力的数据结构来操作结构化数据。pandas被广泛用于数据处理、数据清洗、数据分析和数据可视化等领域。 pandas中的主要数据结构 pandas中的主要数据结构有两种:Series和DataFrame。 Series Series是一种一维的数…

    python 2023年5月14日
    00
  • Matlab操作HDF5文件示例

    下面是Matlab操作HDF5文件的完整攻略: 什么是HDF5文件 HDF5(Hierarchical Data Format)是一种通用的数据格式,可用于存储和传输各种类型的科学和工程数据。它具有多种数据类型、数据结构和数据集,支持多种压缩算法,并且具有跨语言的兼容性。HDF5文件通常具有.h5或.hdf5的扩展名。 如何操作HDF5文件 Matlab提供…

    python 2023年6月13日
    00
  • Pandas直接读取sql脚本的方法

    当我们需要从SQL数据库(如MySQL,SQL Server等)中读取数据时,可以使用Python的Pandas库来实现。Pandas库提供了一种方便的方法来读取SQL查询结果并将其转换成DataFrame对象。下面是使用Pandas直接读取SQL脚本的方法: 步骤1:导入必要的库 我们首先需要导入两个库,分别是Pandas和SQLAlchemy。Panda…

    python 2023年5月14日
    00
  • Pandas读取csv的实现

    下面是关于“Pandas读取csv的实现”的完整攻略: 什么是Pandas Pandas是一个数据分析库,提供了许多用于数据处理和分析的函数和工具,它可以读写各种格式的数据,其中包括csv格式的数据。通过Pandas库,我们可以很方便地读取csv格式的数据并对其进行处理和分析。 Pandas如何读取csv Pandas提供了读取csv文件的函数 read_c…

    python 2023年5月14日
    00
  • 在Python Pandas中获取列的数据类型

    在Python Pandas中,我们可以通过dtypes属性获取数据框中各列数据的数据类型。此外,我们也可以使用info()方法来获取每列数据的数据类型和空值情况。 以下是一个示例数据框: import pandas as pd df = pd.DataFrame({‘col1’: [1, 2, 3], ‘col2’: [‘a’, ‘b’, ‘c’], ‘c…

    python-answer 2023年3月27日
    00
  • 如何使用Python Pandas通过共同的密钥合并许多TSV文件

    首先,我们需要了解TSV文件是什么。TSV(Tab-Separated Values)是一种类似于CSV(Comma-Separated Values)的格式,但是它们是使用制表符作为分隔符的,而不是逗号。在Python中,Pandas是用于数据分析和数据操作的常用库,可以轻松地处理TSV文件。下面,我们将介绍如何使用Python Pandas通过共同的密钥…

    python-answer 2023年3月27日
    00
  • Pandas常用的读取和保存数据的函数使用(csv,mysql,json,excel)

    Pandas是Python中非常常用的数据分析和处理库,可以很方便地完成各种操作。其中读取和保存数据的函数使用是比较常用的功能,下面就对Pandas常用的读取和保存数据的函数使用进行详细的讲解。 读取数据 读取csv文件 Pandas中用于读取csv文件的函数是read_csv(),使用方法如下: import pandas as pd data = pd.…

    python 2023年5月14日
    00
  • Pandas把dataframe或series转换成list的方法

    将DataFrame或Series对象转换为列表可通过Pandas库中的.values.tolist()方法实现。 下面是示例代码: import pandas as pd # 创建一个DataFrame df = pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]}) # 将DataFr…

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