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