pandas.notna#

pandas.notna(obj)[源代码][源代码]#

检测数组类对象的非缺失值。

此函数接受一个标量或类似数组的对象,并指示值是否有效(在数值数组中不为缺失值 NaN,在对象数组中不为 NoneNaN,在类似日期时间的数组中不为 NaT)。

参数:
obj类似数组或对象的值

用于检查对象是否为 空或 缺失值。

返回:
布尔值或布尔值数组

对于标量输入,返回一个标量布尔值。对于数组输入,返回一个布尔数组,指示每个对应元素是否有效。

参见

isna

pandas.notna 的布尔反向。

Series.notna

检测 Series 中的有效值。

DataFrame.notna

检测 DataFrame 中的有效值。

Index.notna

检测索引中的有效值。

例子

标量参数(包括字符串)结果为标量布尔值。

>>> pd.notna("dog")
True
>>> pd.notna(pd.NA)
False
>>> pd.notna(np.nan)
False

ndarrays 结果是一个布尔值的 ndarray。

>>> array = np.array([[1, np.nan, 3], [4, 5, np.nan]])
>>> array
array([[ 1., nan,  3.],
       [ 4.,  5., nan]])
>>> pd.notna(array)
array([[ True, False,  True],
       [ True,  True, False]])

对于索引,返回一个布尔值的 ndarray。

>>> index = pd.DatetimeIndex(["2017-07-05", "2017-07-06", None, "2017-07-08"])
>>> index
DatetimeIndex(['2017-07-05', '2017-07-06', 'NaT', '2017-07-08'],
              dtype='datetime64[s]', freq=None)
>>> pd.notna(index)
array([ True,  True, False,  True])

对于 Series 和 DataFrame,返回相同类型的布尔值。

>>> df = pd.DataFrame([["ant", "bee", "cat"], ["dog", None, "fly"]])
>>> df
     0     1    2
0  ant   bee  cat
1  dog  None  fly
>>> pd.notna(df)
      0      1     2
0  True   True  True
1  True  False  True
>>> pd.notna(df[1])
0     True
1    False
Name: 1, dtype: bool