📅  最后修改于: 2023-12-03 15:26:46.737000             🧑  作者: Mango
在进行数据分析和处理时,经常需要对数据框中的缺失值(NaN)进行处理。在 Python 中,可以使用 isnull()
和 notnull()
函数来检查数据框中的值是否为 NaN。
可以使用 numpy
库的 isnan()
来检查单个值是否为 NaN,例如:
import numpy as np
x = np.nan
if np.isnan(x):
print("x is NaN")
else:
print("x is not NaN")
输出结果为:
x is NaN
可以使用 isnull()
和 notnull()
函数来检查数据框中的值是否为 NaN,例如:
import pandas as pd
# 创建一个包含 NaN 的数据框
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, 6], 'C': [7, 8, 9]})
# 检查数据框中的值是否为 NaN
print(df.isnull())
# 检查数据框中的值是否不为 NaN
print(df.notnull())
输出结果为:
A B C
0 False False False
1 False True False
2 True False False
A B C
0 True True True
1 True False True
2 False True True
可以看到,isnull()
函数会将 NaN 值标记为 True,而不是 NaN 值标记为 False。notnull()
函数则相反。可以根据需要选择使用上述两个函数中的一个。
有时候只需要检查数据框中的某一列是否存在 NaN 值,可以使用 isnull()
函数和列名来实现,例如:
import pandas as pd
# 创建一个包含 NaN 的数据框
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, 6], 'C': [7, 8, 9]})
# 检查列 B 是否存在 NaN 值
print(df['B'].isnull())
输出结果为:
0 False
1 True
2 False
Name: B, dtype: bool
可以看到,isnull()
函数只对列 B 进行了操作。
有时候需要检查数据框中是否存在任何 NaN 值,可以使用 df.isnull().values.any()
函数来实现,例如:
import pandas as pd
# 创建一个包含 NaN 的数据框
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, 6], 'C': [7, 8, 9]})
# 检查数据框中是否存在任何 NaN 值
if df.isnull().values.any():
print("There are NaN values in the DataFrame")
else:
print("There are no NaN values in the DataFrame")
输出结果为:
There are NaN values in the DataFrame
可以看到,isnull().values.any()
函数返回的是一个布尔值,True 表示数据框中存在 NaN 值,False 表示不存在。
以上就是检查数据框中的值是否为 NaN 的方法,根据实际需求选择合适的方法即可。