docstr: Execute and fetch all rows as a pandas DataFrame
  
  Args:
      drop_alias (bool): whether to drop the table name in the output dataframe. Default: True.
  
  Returns:
      pandas.DataFrame:
  
  Example:
  
  Runs a SQL query and get a panda Dataframe.
      >>> cursor.query("SELECT * FROM MyTable;").df()
          col1  col2
      0      1     2
      1      3     4
      2      5     6
docstr_tok: ["Execute","and","fetch","all","rows","as","a","pandas","DataFrame","Args",":","drop_alias","(","bool",")",":","whether","to","drop","the","table","name","in","the","output","dataframe",".","Default",":","True",".","Returns",":","pandas.DataFrame",":","Example",":","Runs","a","SQL","query","and","get","a","panda","Dataframe",".",">",">",">","cursor.query","(","``","SELECT","*","FROM","MyTable",";","''",")",".df","(",")","col1","col2","0","1","2","1","3","4","2","5","6"]
code: def df(self, drop_alias: bool = True) -> pandas.DataFrame:
      """
      Execute and fetch all rows as a pandas DataFrame
  
      Args:
          drop_alias (bool): whether to drop the table name in the output dataframe. Default: True.
  
      Returns:
          pandas.DataFrame:
  
      Example:
  
      Runs a SQL query and get a panda Dataframe.
          >>> cursor.query("SELECT * FROM MyTable;").df()
              col1  col2
          0      1     2
          1      3     4
          2      5     6
      """
      batch = self.execute(drop_alias=drop_alias)
      assert batch.frames is not None, "relation execute failed"
      return batch.frames
  
imports: from typing import Union
  import pandas
  from evadb.database import EvaDBDatabase
  from evadb.interfaces.relational.utils import create_limit_expression, create_star_expression, handle_select_clause, sql_predicate_to_expresssion_tree, sql_string_to_expresssion_list, string_to_lateral_join, try_binding
  from evadb.models.storage.batch import Batch
  from evadb.parser.alias import Alias
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.statement import AbstractStatement
  from evadb.parser.table_ref import JoinNode, TableRef
  from evadb.parser.types import JoinType
  from evadb.parser.utils import parse_sql_orderby_expr
  from evadb.server.command_handler import execute_statement
label_desc: Use image node_id 4 for calling the EvaDBQuery obj's underlying member method code with example usage: obj.df(drop_alias) and returns: batch