class_docstr: Randomly select a fixed number of test rows per user/item.
  
  Args:
      n(int): the number of test items to select
      rng: the random number generator or seed
class_docstr_tok: ["Randomly","select","a","fixed","number","of","test","rows","per","user\/item",".","Args",":","n","(","int",")",":","the","number","of","test","items","to","select","rng",":","the","random","number","generator","or","seed"]
code: def __init__(self, n, rng_spec=None):
      self.n = n
      self.rng = numpy_rng(rng_spec)
  
imports: from collections import namedtuple
  import logging
  from abc import ABC, abstractmethod
  import numpy
  import pandas
  from seedbank import numpy_rng
label_desc: Use image node_id 1 to create a new SampleN object from inherited base classes: PartitionMethod with example: obj = SampleN(n, rng_spec)