code: def numeric_stats_numpy(
      present_values: np.ndarray,
      series: pd.Series,
      series_description: Dict[str, Any],
  ) -> Dict[str, Any]:
      vc = series_description["value_counts_without_nan"]
      index_values = vc.index.values
  
      # FIXME: can be performance optimized by using weights in std, var, kurt and skew...
      if len(index_values):
          return {
              "mean": np.average(index_values, weights=vc.values),
              "std": np.std(present_values, ddof=1),
              "variance": np.var(present_values, ddof=1),
              "min": np.min(index_values),
              "max": np.max(index_values),
              # Unbiased kurtosis obtained using Fisher's definition (kurtosis of normal == 0.0). Normalized by N-1.
              "kurtosis": series.kurt(),
              # Unbiased skew normalized by N-1
              "skewness": series.skew(),
              "sum": np.dot(index_values, vc.values),
          }
      else:  # Empty numerical series
          return {
              "mean": np.nan,
              "std": 0.0,
              "variance": 0.0,
              "min": np.nan,
              "max": np.nan,
              "kurtosis": 0.0,
              "skewness": 0.0,
              "sum": 0,
          }
  
file_path: ydata-profiling/src/ydata_profiling/model/pandas/describe_numeric_pandas.py
imports: from typing import Any, Dict, Tuple
  import numpy
  import pandas
  from ydata_profiling.utils.compat import pandas_version_info
  from ydata_profiling.config import Settings
  from ydata_profiling.model.summary_algorithms import chi_square, describe_numeric_1d, histogram_compute, series_handle_nulls, series_hashable
label_desc: Use image node_id 3 for calling a global function with example usage: numeric_stats_numpy(present_values, series, series_description) and returns: dict, dict