📜  检查值是否为 nan pandas - Python (1)

📅  最后修改于: 2023-12-03 15:40:32.584000             🧑  作者: Mango

检查值是否为 NaN - Pandas

在 Pandas 中,NaN 表示不是数字。在数据分析中,我们经常需要检查数据中是否存在 NaN 值,并对其进行处理。

如何检查数据中是否存在 NaN 值?

我们可以使用 Pandas 中的 isna()isnull() 函数来检查数据中是否存在 NaN 值。这两个函数是等价的。

import pandas as pd

# 创建数据帧
df = pd.DataFrame({'A': [1, 2, 3, 4],
                   'B': [5, None, 7, 8],
                   'C': [9, 10, NaN, 12]})

# 检查是否存在 NaN 值
print(df.isna())

输出结果如下:

       A      B      C
0  False  False  False
1  False   True  False
2  False  False   True
3  False  False  False

isna()isnull() 函数会返回一个由 True 和 False 组成的布尔值数组,其形状与原始数据相同。其中,True 表示数据中对应位置存在 NaN 值,False 表示数据中对应位置没有 NaN 值。

如何处理数据中存在的 NaN 值?

在数据分析中,我们常常需要对 NaN 值进行处理,常用的处理方式包括删除 NaN 值、填充 NaN 值等。

删除 NaN 值

我们可以使用 Pandas 中的 dropna() 函数来删除数据中的 NaN 值。

# 删除 NaN 值
print(df.dropna())

输出结果如下:

   A    B   C
0  1.0  5.0  9.0
3  4.0  8.0  12.0

dropna() 函数会返回一个新的数据帧,其中不包含任何 NaN 值。

填充 NaN 值

我们可以使用 Pandas 中的 fillna() 函数来填充数据中的 NaN 值。

# 填充 NaN 值
print(df.fillna(0))

输出结果如下:

   A    B    C
0  1.0  5.0   9.0
1  2.0  0.0  10.0
2  3.0  7.0   0.0
3  4.0  8.0  12.0

fillna() 函数会返回一个新的数据帧,其中 NaN 值被指定的值(例如 0)所替换。你也可以选择使用平均值、中位数等填充方法来替换 NaN 值。

总之,在数据分析中,处理 NaN 值是一个必不可少的过程,在掌握 Pandas 中的 isna()dropna()fillna() 函数之后,相信你已经可以熟练地处理数据中存在的 NaN 值了。