code: def series_dropna(series, axis=0, inplace=False, how=None):
      """
      Return a new Series with missing values removed.
  
      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'}, default 0
          There is only one axis to drop values from.
      inplace : bool, default False
          If True, do operation inplace and return None.
      how : str, optional
          Not in use. Kept for compatibility.
  
      Returns
      -------
      Series
          Series with NA entries dropped from it.
  
      See Also
      --------
      Series.isna: Indicate missing values.
      Series.notna : Indicate existing (non-missing) values.
      Series.fillna : Replace missing values.
      DataFrame.dropna : Drop rows or columns which contain NA values.
      Index.dropna : Drop missing indices.
  
      Examples
      --------
      >>> import mars.dataframe as md
      >>> ser = md.Series([1., 2., np.nan])
      >>> ser.execute()
      0    1.0
      1    2.0
      2    NaN
      dtype: float64
  
      Drop NA values from a Series.
  
      >>> ser.dropna().execute()
      0    1.0
      1    2.0
      dtype: float64
  
      Keep the Series with valid entries in the same variable.
  
      >>> ser.dropna(inplace=True)
      >>> ser.execute()
      0    1.0
      1    2.0
      dtype: float64
  
      Empty strings are not considered NA values. ``None`` is considered an
      NA value.
  
      >>> ser = md.Series([np.NaN, 2, md.NaT, '', None, 'I stay'])
      >>> ser.execute()
      0       NaN
      1         2
      2       NaT
      3
      4      None
      5    I stay
      dtype: object
      >>> ser.dropna().execute()
      1         2
      3
      5    I stay
      dtype: object
      """
      axis = validate_axis(axis, series)
      use_inf_as_na = options.dataframe.mode.use_inf_as_na
      op = DataFrameDropNA(
          axis=axis,
          how=how,
          output_types=[OutputType.series],
          use_inf_as_na=use_inf_as_na,
      )
      out_series = op(series)
      if inplace:
          series.data = out_series.data
      else:
          return out_series
  
imports: import itertools
  import numpy
  import pandas
  from ...None import opcodes
  from ...core import OutputType, recursive_tile
  from ...config import options
  from ...serialization.serializables import AnyField, BoolField, StringField, Int32Field
  from ...utils import no_default, pd_release_version
  from ..align import align_dataframe_series
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..utils import parse_index, validate_axis
label_desc: Use image node_id 2 for calling a global function with example usage: series_dropna(series, axis, inplace, how) and returns: out_series