nodes: 0, module; 1, function_definition; 2, function_name:qcut; 3, parameters; 4, block; 5, identifier:expr; 6, identifier:bins; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, expression_statement; 11, if_statement; 12, return_statement; 13, identifier:labels; 14, False; 15, identifier:sort; 16, None; 17, identifier:ascending; 18, True; 19, comment:"""
      Get quantile-based bin indices of every element of a grouped and sorted expression.
      The indices of bins start from 0. If cuts are not of equal sizes, extra items will
      be appended into the first group.
  
      :param expr: expression for calculation
      :param bins: number of bins
      :param sort: name of the sort column
      :param ascending: whether to sort in ascending order
      :return: calculated column
      """; 20, boolean_operator; 21, block; 22, call; 23, comparison_operator:labels is None; 24, identifier:labels; 25, raise_statement; 26, identifier:_rank_op; 27, argument_list; 28, identifier:labels; 29, None; 30, call; 31, identifier:expr; 32, identifier:QCut; 33, attribute; 34, keyword_argument; 35, keyword_argument; 36, keyword_argument; 37, identifier:NotImplementedError; 38, argument_list; 39, identifier:types; 40, identifier:int64; 41, identifier:sort; 42, identifier:sort; 43, identifier:ascending; 44, identifier:ascending; 45, identifier:_bins; 46, identifier:bins; 47, string; 48, string_content:Showing bins or customizing labels not supported
code: def qcut(expr, bins, labels=False, sort=None, ascending=True):
      """
      Get quantile-based bin indices of every element of a grouped and sorted expression.
      The indices of bins start from 0. If cuts are not of equal sizes, extra items will
      be appended into the first group.
  
      :param expr: expression for calculation
      :param bins: number of bins
      :param sort: name of the sort column
      :param ascending: whether to sort in ascending order
      :return: calculated column
      """
      if labels is None or labels:
          raise NotImplementedError('Showing bins or customizing labels not supported')
      return _rank_op(expr, QCut, types.int64, sort=sort, ascending=ascending,
                      _bins=bins)