class_docstr: Base class to implement a new Prompt.
  
  Inheritors have to override `template` property.
docstr: Generate the dataframes metadata
  Args:
      dfs: List of Dataframes
docstr_tok: ["Generate","the","dataframes","metadata","Args",":","dfs",":","List","of","Dataframes"]
code: def _generate_dataframes(self, dfs):
      """
      Generate the dataframes metadata
      Args:
          dfs: List of Dataframes
      """
      dataframes = []
      for index, df in enumerate(dfs, start=1):
          dataframe_info = "<dataframe"
  
          # Add name attribute if available
          if df.table_name is not None:
              dataframe_info += f' name="{df.table_name}"'
  
          # Add description attribute if available
          if df.table_description is not None:
              dataframe_info += f' description="{df.table_description}"'
  
          dataframe_info += ">"
  
          # Add dataframe details
          dataframe_info += f"\ndfs[{index-1}]:{df.rows_count}x{df.columns_count}\n{df.head_csv}"
  
          # Close the dataframe tag
          dataframe_info += "</dataframe>"
  
          dataframes.append(dataframe_info)
  
      return "\n".join(dataframes)
  
file_path: pandas-ai/pandasai/prompts/base.py
imports: from abc import ABC, abstractmethod
  import string
label_desc: Use image node_id 4 for calling the AbstractPrompt obj's underlying member method code with example usage: obj._generate_dataframes(dfs) and returns: str