Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.notna

DataFrame.notna()

  Detect existing (non-missing) values.

  Return a boolean same-sized object indicating if the values are not NA. Non-missing values get mapped to True. Characters such as empty strings `''` or `numpy.inf` are not considered NA values. NA values, such as None or `numpy.NaN`, get mapped to False values.

  Returns:
    Series/DataFrame

      Mask of bool values for each element in Series/DataFrame that indicates whether an element is not an NA value.

  See also

  `Series.notnull`

    Alias of notna.

  `DataFrame.notnull`

    Alias of notna.

  `Series.isna`

    Boolean inverse of notna.

  `DataFrame.isna`

    Boolean inverse of notna.

  `Series.dropna`

    Omit axes labels with missing values.

  `DataFrame.dropna`

    Omit axes labels with missing values.

  `notna`

    Top-level notna.

  Examples

  Show which entries in a DataFrame are not 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        NaN
      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

  Show which entries in a Series are not 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