docs: def _to_df(self, result, handle_annotations=None):
          '''
          Converts a Google API Face JSON response into a Pandas Dataframe.
  
          Args:
              result (ExtractorResult): Result object from which to parse out a
                  Dataframe.
              handle_annotations (str): How returned face annotations should be
                  handled in cases where there are multiple faces.
                  'first' indicates to only use the first face JSON object, all
                  other values will default to including every face.
          '''
          annotations = result._data
          if handle_annotations == 'first':
              annotations = [annotations[0]]
  
          face_results = []
          for i, annotation in enumerate(annotations):
              data_dict = {}
              for field, val in annotation.items():
                  if 'Confidence' in field:
                      data_dict['face_' + field] = val
                  elif 'oundingPoly' in field:
                      for j, vertex in enumerate(val['vertices']):
                          for dim in ['x', 'y']:
                              name = '%s_vertex%d_%s' % (field, j+1, dim)
                              val = vertex[dim] if dim in vertex else np.nan
                              data_dict[name] = val
                  elif field == 'landmarks':
                      for lm in val:
                          name = 'landmark_' + lm['type'] + '_%s'
                          lm_pos = {name %
                                    k: v for (k, v) in lm['position'].items()}
                          data_dict.update(lm_pos)
                  else:
                      data_dict[field] = val
  
              face_results.append(data_dict)
  
          return pd.DataFrame(face_results)