看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
isna()
方法用于检测 DataFrame 或 Series 中的缺失值。它会返回一个与原数据结构相同的布尔型 DataFrame 或 Series,其中缺失值被标记为 True
,非缺失值标记为 False
。
DataFrame.isnull是DataFrame.isna的别名。检测缺失值。
DataFrame.isna()
返回一个大小相同的布尔对象,指示值是否为 NA 值,如 None 或 numpy.NaN
。NaN被映射为True值。其他所有内容都映射到 False 值。空字符串“”或numpy.inf等字符不被视为NA值(除非您将 pandas.options.mode.use_inf_as_na = True
设置为True)。
isna()
方法没有额外的参数。DataFrame
,返回一个布尔型 DataFrame。Series
,返回一个布尔型 Series。NaN
或 None
) 被标记为 True
,非缺失值标记为 False
。isna()
可以帮助检测和定位这些缺失值,以便后续处理。isna()
方法可以用于检查缺失值,以确保数据的完整性。显示DataFrame中的哪些条目是NA。
df = pd.DataFrame(dict(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']))
df
'''
age born name toy
0 5.0 NaT Alfred None
1 6.0 1939-05-27 Batman Batmobile
2 NaN 1940-04-25 Joker
'''
df.isna()
'''
age born name toy
0 False True False True
1 False False False False
2 True False False False
'''
显示系列中哪些条目为NA。
ser = pd.Series([5, 6, np.nan])
ser
'''
0 5.0
1 6.0
2 NaN
dtype: float64
'''
ser.isna()
'''
0 False
1 False
2 True
dtype: bool
'''
例1: 基本使用
import pandas as pd
import numpy as np
# 构造示例数据
data = {
'A': [1, np.nan, 3, np.nan],
'B': [np.nan, 2, np.nan, 4]
}
df = pd.DataFrame(data)
# 使用 isna 检测缺失值
na_df = df.isna()
print(df)
print(na_df)
输出:
'''
A B
0 1.0 NaN
1 NaN 2.0
2 3.0 NaN
3 NaN 4.0
A B
0 False True
1 True False
2 False True
3 True False
'''
在这个例子中,isna()
方法将 DataFrame 中的缺失值 NaN
标记为 True
,其他值标记为 False
。
例2: 使用在 Series 上
import pandas as pd
import numpy as np
# 构造示例数据
data = pd.Series([1, np.nan, 3, np.nan])
# 使用 isna 检测缺失值
na_series = data.isna()
print(data)
print(na_series)
输出:
'''
0 1.0
1 NaN
2 3.0
3 NaN
dtype: float64
0 False
1 True
2 False
3 True
dtype: bool
'''
在这个例子中,isna()
方法对 Series 中的缺失值进行标记,返回布尔型 Series,其中缺失值被标记为 True
。
例3: 检测混合数据类型的 DataFrame
import pandas as pd
import numpy as np
# 构造示例数据
data = {
'A': [1, 'b', np.nan],
'B': [np.nan, 2.0, 'c']
}
df = pd.DataFrame(data)
# 使用 isna 检测缺失值
na_df = df.isna()
print(df)
print(na_df)
输出:
'''
A B
0 1 NaN
1 b 2.0
2 NaN c
A B
0 False True
1 False False
2 True False
'''
在这个例子中,isna()
方法检测了 DataFrame 中的各种数据类型,包括数字、字符串和 NaN
,并返回布尔型 DataFrame,准确标记了缺失值。
isna()
方法是数据预处理和清洗的重要工具,它能够识别和定位数据中的缺失值。通过返回布尔型数据结构,isna()
使得检测缺失值变得直观且方便。对于数据清洗、分析和建模过程中的缺失值处理,它是一个必不可少的方法。
更新时间:2024-08-09 09:30:53 标签:pandas python isna 缺失值