parameters: (
          self,
          kind: str,
          values,
          how: str,
          axis: int,
          min_count: int = -1,
          **kwargs,
      )
return_statement: return cy_op.cython_operation(
              values=values,
              axis=axis,
              min_count=min_count,
              comp_ids=ids,
              ngroups=ngroups,
              **kwargs,
          )
docstring: Returns the values of a cython operation.
docstring_summary: Returns the values of a cython operation.
docstring_tokens: Returns the values of a cython operation .
function: def _cython_operation(
          self,
          kind: str,
          values,
          how: str,
          axis: int,
          min_count: int = -1,
          **kwargs,
      ) -> ArrayLike:
          """
          Returns the values of a cython operation.
          """
          assert kind in ["transform", "aggregate"]
  
          cy_op = WrappedCythonOp(kind=kind, how=how)
  
          ids, _, _ = self.group_info
          ngroups = self.ngroups
          return cy_op.cython_operation(
              values=values,
              axis=axis,
              min_count=min_count,
              comp_ids=ids,
              ngroups=ngroups,
              **kwargs,
          )
function_tokens: def _cython_operation ( self , kind : str , values , how : str , axis : int , min_count : int = - 1 , * * kwargs , ) -> ArrayLike : assert kind in [ "transform" , "aggregate" ] cy_op = WrappedCythonOp ( kind = kind , how = how ) ids , _ , _ = self . group_info ngroups = self . ngroups return cy_op . cython_operation ( values = values , axis = axis , min_count = min_count , comp_ids = ids , ngroups = ngroups , * * kwargs , )