code: def lowess(
      data: pd.Series,
      fracs: Tuple[float, ...] = (0.05, 0.1, 0.15),
      it: int = 3,
      delta: float = 0.0,
      missing: str = "drop",
  ) -> pd.DataFrame:
      """Locally Weighted Scatterplot Smoothing
  
      Args:
          data (pd.Series): Time series.
          fracs (Tuple[float, ...]): Fraction of data to use when estimating each y-value.
          it (int): number of residual-based reweightings to perform.
          delta (float): Distance within which to use linear interpolation instead of weighted
              regression.
          missing (str): Approach to deal with missing values -- 'none', 'drop', or 'raise'.
  
      Returns:
          pd.DataFrame: DataFrame with original series (labelled 'original') and N smoothed series,
          as dictated by the parameter ``fracs``, each series labelled as `lowess <frac>%`.
  
      See Also:
          https://www.statsmodels.org/stable/statsmodels.nonparametric.smoothers_lowess.lowess.html
      """
      return pd.concat(
          [data.rename("original")]
          + [
              pd.Series(
                  smoothers_lowess.lowess(
                      data,
                      np.arange(len(data)),
                      frac=f,
                      it=it,
                      delta=delta,
                      missing=missing,
                      is_sorted=True,
                  )[:, 1],
                  index=(
                      data.dropna() if missing == "drop" else data
                  ).index,
                  name=f"lowess {int(f*100):2d}%",
              )
              for f in fracs
          ],
          axis=1,
      )
  
file_path: tslumen/tslumen/profile/smooth.py
imports: from typing import Optional, Tuple
  import numpy
  import pandas
  from statsmodels.nonparametric import smoothers_lowess
  from .None import _supsmu
  from tslumen.profile.base import ProfilingFunction
label_desc: Use image node_id 1 for calling a global function with example usage: lowess(data, fracs, it, delta, missing) and returns: pd