code: def get_reduction_callable(cls, op):
      from .aggregation import where_function
  
      skipna, bias, fisher = op.skipna, op.bias, op.fisher
  
      def kurt(x):
          cnt = x.count()
          mean = x.mean(skipna=skipna)
          divided = (
              (x**4).mean(skipna=skipna)
              - 4 * (x**3).mean(skipna=skipna) * mean
              + 6 * (x**2).mean(skipna=skipna) * mean**2
              - 3 * mean**4
          )
          var = x.var(skipna=skipna, ddof=0)
          if isinstance(var, ENTITY_TYPE) or var > 0:
              val = where_function(var > 0, divided / var**2, np.nan)
          else:
              val = np.nan
          if not bias:
              val = where_function(
                  (var > 0) & (cnt > 3),
                  (val * (cnt**2 - 1) - 3 * (cnt - 1) ** 2)
                  / (cnt - 2)
                  / (cnt - 3),
                  np.nan,
              )
          if not fisher:
              val += 3
          return val
  
      return kurt
  
file_path: mars/mars/dataframe/reduction/kurtosis.py
imports: import numpy
  from ...None import opcodes
  from ...config import options
  from ...core import OutputType, ENTITY_TYPE
  from ...serialization.serializables import BoolField
  from .core import DataFrameReductionOperand, DataFrameReductionMixin
label_desc: Use image node_id 4 for calling the DataFrameKurtosis obj's underlying member method code with example usage: obj.get_reduction_callable(cls, op) and returns: kurt, val