Python pandas.DataFrame.isna函数方法的使用

pandas.DataFrame.isna() 是一个用于检查 DataFrame 中是否存在缺失值(NaN)的方法。它会返回一个与原始 DataFrame 形状相同的布尔值 DataFrame,其中每个元素表示该位置的值是否为缺失值(NaN)。如果该值是 NaN,则返回 True,否则返回 False。本文主要介绍一下Pandas中pandas.DataFrame.isna方法的使用。

DataFrame.isna(self)        [source]

检测缺失值。

返回一个布尔值相同大小的对象,指示值是否为NA。NA值(例如,Nonenumpy.NaN)被映射为True值。其他所有内容都映射为False值。诸如空字符串之类的字符''或numpy.inf不被视为NA值的字符(除非您设置)。pandas.options.mode.use_inf_as_na = True

返回值:

DataFrame

DataFrame中每个元素的布尔值掩码,指示元素是否不是NA值。

例子

1)检查是否存在缺失值

import pandas as pd

# 创建一个包含缺失值的 DataFrame
data = {
    'A': [1, 2, None, 4],
    'B': [None, 2, 3, 4],
    'C': [1, None, 3, 4]
}
df = pd.DataFrame(data)

# 检查是否存在缺失值
if df.isna().any().any():
    print("DataFrame contains missing values.")

2)计算缺失值的数量

import pandas as pd

# 创建一个包含缺失值的 DataFrame
data = {
    'A': [1, 2, None, 4],
    'B': [None, 2, 3, 4],
    'C': [1, None, 3, 4]
}
df = pd.DataFrame(data)

# 计算每列缺失值的数量
missing_values = df.isna().sum()
print("缺失值的数量:")
print(missing_values)

3)填充缺失值

import pandas as pd

# 创建一个包含缺失值的 DataFrame
data = {
    'A': [1, 2, None, 4],
    'B': [None, 2, 3, 4],
    'C': [1, None, 3, 4]
}
df = pd.DataFrame(data)

# 使用 0 填充列 'A' 中的缺失值
df['A'] = df['A'].fillna(0)

# 显示填充后的 DataFrame
print("填充缺失值后的 DataFrame:")
print(df)

4)显示 DataFrame 中哪些条目不适用(缺失值)

import pandas as pd
import numpy as np

# 创建一个包含缺失值的 DataFrame
df = pd.DataFrame({
    'age': [5, 6, np.NaN],
    'born': [pd.NaT, pd.Timestamp('1939-05-27'),
    pd.Timestamp('1940-04-25')],
    'name': ['Alfred', 'Batman', ''],
    'toy': [None, 'Batmobile', 'Joker']
})

# 显示 DataFrame 中哪些条目是缺失值
print("DataFrame 中的缺失值:")
print(df.isna())

5)显示 Series 中哪些条目不适用(缺失值)

import pandas as pd
import numpy as np

# 创建一个包含缺失值的 Series
ser = pd.Series([5, 6, np.NaN])

# 显示 Series 中哪些条目是缺失值
print("Series 中的缺失值:")
print(ser.isna())
推荐阅读
cjavapy编程之路首页