class_docstr: Compute one or more top-N metrics over recommendation lists.
  
  This method groups the recommendations by the specified columns,
  and computes the metric over each group.  The default set of grouping
  columns is all columns *except* the following:
  
  * ``item``
  * ``rank``
  * ``score``
  * ``rating``
  
  The truth frame, ``truth``, is expected to match over (a subset of) the
  grouping columns, and contain at least an ``item`` column.  If it also
  contains a ``rating`` column, that is used as the users' rating for
  metrics that require it; otherwise, a rating value of 1 is assumed.
  
  Args:
      group_cols(list):
          The columns to group by, or ``None`` to use the default.
code: def __init__(self, group_cols=None, n_jobs=None):
      self.group_cols = group_cols
      self.metrics = [(_length, "nrecs", {})]
      self.n_jobs = n_jobs
  
file_path: lkpy/lenskit/topn.py
imports: import logging
  import functools
  import numpy
  import pandas
  from .metrics.topn import *
  from .util import Stopwatch
label_desc: Use image node_id 1 to create a new RecListAnalysis object  with example: obj = RecListAnalysis(group_cols, n_jobs)