code: def _process_single_doc(self, single_doc):
          
          base_name, extension = os.path.splitext(single_doc)
          if extension in ('.rst', '.ipynb'):
              if os.path.exists(os.path.join(SOURCE_PATH, single_doc)):
                  return single_doc
              else:
                  raise FileNotFoundError('File {} not found'.format(single_doc))
  
          elif single_doc.startswith('pandas.'):
              try:
                  obj = pandas  # noqa: F821
                  for name in single_doc.split('.'):
                      obj = getattr(obj, name)
              except AttributeError:
                  raise ImportError('Could not import {}'.format(single_doc))
              else:
                  return single_doc[len('pandas.'):]
          else:
              raise ValueError(('--single={} not understood. Value should be a '
                                'valid path to a .rst or .ipynb file, or a '
                                'valid pandas object (e.g. categorical.rst or '
                                'pandas.DataFrame.head)').format(single_doc))
docs: Make sure the provided value for --single is a path to an existing
          .rst/.ipynb file, or a pandas object that can be imported.
  
          For example, categorial.rst or pandas.DataFrame.head. For the latter,
          return the corresponding file path
          (e.g. reference/api/pandas.DataFrame.head.rst).