code: def kurt(df: "DataFrame", unbiased=False):
      data_manager = df.data_manager
      n = df.shape[0]
      if unbiased and n < 4:
          field_names = data_manager.infer_operable_field_names()
          return pd.Series(
              [np.nan for _ in range(len(field_names))],
              index=field_names,
          )
  
      _mean = mean(df)
      m1 = df - _mean
      m2 = m1**2
      m4 = m2**2
      m2 = m2.mean()
      m4 = m4.mean()
  
      non_zero_mask = abs(m2) >= FLOATING_POINT_ZERO
      m4[~non_zero_mask] = 0
      m2[~non_zero_mask] = 1
  
      if unbiased:
          return (
              (n - 1)
              / ((n - 2) * (n - 3))
              * ((n + 1) * m4 / m2**2 - 3 * (n - 1))
          )
      else:
          return m4 / m2**4 - 3
  
file_path: FATE/python/fate/arch/dataframe/ops/_stat.py
imports: import functools
  import numpy
  import pandas
  import torch
  from .._dataframe import DataFrame
  from ..manager import DataManager
label_desc: Use image node_id 8 for calling a global function with example usage: kurt(df, unbiased) and returns: pd, unknown, unknown