docs: def _read_dataframe(filename):
      """ Reads the original dataset PSV as a pandas dataframe """
      import pandas
  
      # read in triples of user/artist/playcount from the input dataset
      # get a model based off the input params
      start = time.time()
      log.debug("reading data from %s", filename)
      data = pandas.read_csv(filename, delimiter='|', quotechar='\\')
  
      # map each artist and user to a unique numeric value
      data['uid'] = data['uid'].astype("category")
      data['mid'] = data['mid'].astype("category")
  
      # store as a CSR matrix
      log.debug("read data file in %s", time.time() - start)
      return data