def dropna(self, axis=<NUM_LIT:0>, how='<STR_LIT>', thresh=None, subset=None,<EOL>inplace=False):
inplace = validate_bool_kwarg(inplace, '<STR_LIT>')<EOL>if isinstance(axis, (tuple, list)):<EOL><INDENT>msg = ("<STR_LIT>"<EOL>"<STR_LIT>")<EOL>warnings.warn(msg, FutureWarning, stacklevel=<NUM_LIT:2>)<EOL>result = self<EOL>for ax in axis:<EOL><INDENT>result = result.dropna(how=how, thresh=thresh, subset=subset,<EOL>axis=ax)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>axis = self._get_axis_number(axis)<EOL>agg_axis = <NUM_LIT:1> - axis<EOL>agg_obj = self<EOL>if subset is not None:<EOL><INDENT>ax = self._get_axis(agg_axis)<EOL>indices = ax.get_indexer_for(subset)<EOL>check = indices == -<NUM_LIT:1><EOL>if check.any():<EOL><INDENT>raise KeyError(list(np.compress(check, subset)))<EOL><DEDENT>agg_obj = self.take(indices, axis=agg_axis)<EOL><DEDENT>count = agg_obj.count(axis=agg_axis)<EOL>if thresh is not None:<EOL><INDENT>mask = count >= thresh<EOL><DEDENT>elif how == '<STR_LIT>':<EOL><INDENT>mask = count == len(agg_obj._get_axis(agg_axis))<EOL><DEDENT>elif how == '<STR_LIT:all>':<EOL><INDENT>mask = count > <NUM_LIT:0><EOL><DEDENT>else:<EOL><INDENT>if how is not None:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(h=how))<EOL><DEDENT>else:<EOL><INDENT>raise TypeError('<STR_LIT>')<EOL><DEDENT><DEDENT>result = self.loc(axis=axis)[mask]<EOL><DEDENT>if inplace:<EOL><INDENT>self._update_inplace(result)<EOL><DEDENT>else:<EOL><INDENT>return result<EOL><DEDENT>
Remove missing values.

See the :ref:`User Guide <missing_data>` for more on which values are
considered missing, and how to work with missing data.

Parameters
----------
axis : {0 or 'index', 1 or 'columns'}, default 0
    Determine if rows or columns which contain missing values are
    removed.

    * 0, or 'index' : Drop rows which contain missing values.
    * 1, or 'columns' : Drop columns which contain missing value.

    .. deprecated:: 0.23.0

       Pass tuple or list to drop on multiple axes.
       Only a single axis is allowed.

how : {'any', 'all'}, default 'any'
    Determine if row or column is removed from DataFrame, when we have
    at least one NA or all NA.

    * 'any' : If any NA values are present, drop that row or column.
    * 'all' : If all values are NA, drop that row or column.

thresh : int, optional
    Require that many non-NA values.
subset : array-like, optional
    Labels along other axis to consider, e.g. if you are dropping rows
    these would be a list of columns to include.
inplace : bool, default False
    If True, do operation inplace and return None.

Returns
-------
DataFrame
    DataFrame with NA entries dropped from it.

See Also
--------
DataFrame.isna: Indicate missing values.
DataFrame.notna : Indicate existing (non-missing) values.
DataFrame.fillna : Replace missing values.
Series.dropna : Drop missing values.
Index.dropna : Drop missing indices.

Examples
--------
>>> df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
...                    "toy": [np.nan, 'Batmobile', 'Bullwhip'],
...                    "born": [pd.NaT, pd.Timestamp("1940-04-25"),
...                             pd.NaT]})
>>> df
       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

Drop the rows where at least one element is missing.

>>> df.dropna()
     name        toy       born
1  Batman  Batmobile 1940-04-25

Drop the columns where at least one element is missing.

>>> df.dropna(axis='columns')
       name
0    Alfred
1    Batman
2  Catwoman

Drop the rows where all elements are missing.

>>> df.dropna(how='all')
       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

Keep only the rows with at least 2 non-NA values.

>>> df.dropna(thresh=2)
       name        toy       born
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

Define in which columns to look for missing values.

>>> df.dropna(subset=['name', 'born'])
       name        toy       born
1    Batman  Batmobile 1940-04-25

Keep the DataFrame with valid entries in the same variable.

>>> df.dropna(inplace=True)
>>> df
     name        toy       born
1  Batman  Batmobile 1940-04-25