code: def extract_annotation(data):
      
      xlabel = None
      xvalues = None
      ylabel = None
      yvalues = None
      if hasattr(data, 'minor_axis'):
          xvalues = data.minor_axis
          if hasattr(data.minor_axis, 'name'):
              xlabel = data.minor_axis.name
      if hasattr(data, 'columns'):
          xvalues = data.columns
          if hasattr(data.columns, 'name'):
              xlabel = data.columns.name
      if hasattr(data, 'major_axis'):
          yvalues = data.major_axis
          if hasattr(data.major_axis, 'name'):
              ylabel = data.major_axis.name
      if hasattr(data, 'index'):
          yvalues = data.index
          if hasattr(data.index, 'name'):
              ylabel = data.index.name
      return xlabel, xvalues, ylabel, yvalues
docs: Extract names and values of rows and columns.
  
      Parameter:
          data : DataFrame | Panel
  
      Returns:
          col_name, col_values, row_name, row_values