class_docstr: Retrieve output from a notebook file with tagged cells.
  
  For instructions on tagging cells,
  `see this <https://papermill.readthedocs.io/en/latest/usage-parameterize.html>`_.
  
  Notes
  -----
  Ignores untagged cells, if a cell has more than one tag, it uses the first
  one as identifier. If a cell has more than one output, it uses the last
  one and discards the rest.
class_docstr_tok: ["Retrieve","output","from","a","notebook","file","with","tagged","cells",".","For","instructions","on","tagging","cells",",","`","see","this","<","https",":","\/\/papermill.readthedocs.io\/en\/latest\/usage-parameterize.html",">","`","_",".","Notes","--","--","-","Ignores","untagged","cells",",","if","a","cell","has","more","than","one","tag",",","it","uses","the","first","one","as","identifier",".","If","a","cell","has","more","than","one","output",",","it","uses","the","last","one","and","discards","the","rest","."]
code: def _tag2output(self):
      # TODO: raise warning if notebook does not have any tagged cells
  
      cells = [
          _process_cell(c)
          for c in self.nb.cells
          if c.cell_type == "code"
      ]
  
      # ignore untagged cells and cells with no output
      cells = {c[0]: c[1] for c in cells if c is not None}
  
      # ignore some types of outputs on each cell (i.e. errors) and get
      # the last valid one
      cells = {
          k: _filter_and_process_outputs(outputs)
          for k, outputs in cells.items()
      }
  
      # TODO: remove entries with None values?
  
      return cells
  
imports: import base64
  from collections.abc import Mapping
  import ast
  import parso
  import pandas
  import nbformat
  from IPython.display import Image, HTML
label_desc: Use image node_id 2 for calling the NotebookIntrospector obj's underlying member method code with example usage: obj._tag2output() and returns: cells