code: def value_counts(expr, sort=True, ascending=False, dropna=False):
      
  
      names = [expr.name, 'count']
      typos = [expr.dtype, types.int64]
      return ValueCounts(_input=expr, _schema=Schema.from_lists(names, typos),
                         _sort=sort, _ascending=ascending, _dropna=dropna)
docs: Return object containing counts of unique values.
  
      The resulting object will be in descending order so that the first element is the most frequently-occuring
      element. Exclude NA values by default
  
      :param expr: sequence
      :param sort: if sort
      :type sort: bool
      :param dropna: Don’t include counts of None, default False
      :return: collection with two columns
      :rtype: :class:`odps.df.expr.expressions.CollectionExpr`