pandas.notna#

pandas.notna(obj)[источник]#

Обнаружение не-пропущенных значений для объекта, подобного массиву.

Эта функция принимает скалярный или похожий на массив объект и указывает, являются ли значения допустимыми (не пропущенными, что означает NaN в числовых массивах, None или NaN в массивах объектов, NaT в datetimelike).

Параметры:
objмассивоподобным или объектным значением

Объект для проверки не null или не-пропущенные значения.

Возвращает:
bool или массивоподобный из bool

Для скалярного ввода возвращает булево значение. Для ввода массива возвращает массив булевых значений, указывающих, является ли каждый соответствующий элемент допустимым.

Смотрите также

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[ns]', 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