📅  最后修改于: 2023-12-03 15:40:32.584000             🧑  作者: Mango
在 Pandas 中,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 值等。
我们可以使用 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 值。
我们可以使用 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 值了。