class_docstr: Data model used for storing a batch of frames.
  Internally stored as a pandas DataFrame with columns
  "id" and "data".
  id: integer index of frame
  data: frame as np.array
  
  Arguments:
      frames (DataFrame): pandas Dataframe holding frames data
class_docstr_tok: ["Data","model","used","for","storing","a","batch","of","frames",".","Internally","stored","as","a","pandas","DataFrame","with","columns","''","id","''","and","``","data","''",".","id",":","integer","index","of","frame","data",":","frame","as","np.array","Arguments",":","frames","(","DataFrame",")",":","pandas","Dataframe","holding","frames","data"]
docstr: Execute function expression on frames.
docstr_tok: ["Execute","function","expression","on","frames","."]
code: def apply_function_expression(self, expr: Callable) -> Batch:
      """
      Execute function expression on frames.
      """
      self.drop_column_alias()
      return Batch(expr(self._frames))
  
imports: from typing import Callable, Iterable, List, TypeVar, Union
  import numpy
  import pandas
  from evadb.expression.abstract_expression import ExpressionType
  from evadb.parser.alias import Alias
  from evadb.utils.generic_utils import PickleSerializer
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 21 for calling the Batch obj's underlying member method code with example usage: obj.apply_function_expression(expr) and returns: Batch