code: def do_stats_numeric(series: pd.Series, updated_dict: dict):
      stats = updated_dict["stats"]
      stats["max"] = series.max()
      stats["mean"] = series.mean()
      for percentile, value in (
          series.quantile([0.95, 0.75, 0.50, 0.25, 0.05])
          .to_dict()
          .items()
      ):
          stats[f"perc{int(percentile*100)}"] = value
      stats["min"] = series.min()
  
      stats["range"] = stats["max"] - stats["min"]
      stats["iqr"] = stats["perc75"] - stats["perc25"]
  
      stats["std"] = series.std()
      stats["variance"] = series.var()
      stats["kurtosis"] = series.kurt()
      stats["skewness"] = series.skew()
      stats["sum"] = series.sum()
      # MAD was unused!!!
      # stats["mad"] = (series - series.mean()).abs().mean() # deprecated: series.mad()
      stats["cv"] = (
          stats["std"] / stats["mean"] if stats["mean"] else np.NaN
      )
      return updated_dict
  
file_path: sweetviz/sweetviz/series_analyzer_numeric.py
imports: import numpy
  import pandas
  from sweetviz.graph_numeric import GraphNumeric
  import sweetviz.sv_html
  from sweetviz.sv_types import NumWithPercent, FeatureType, FeatureToProcess
  from sweetviz.config import config
label_desc: Use image node_id 1 for calling a global function with example usage: do_stats_numeric(series, updated_dict) and returns: updated_dict