code: def _get_functions_single_prompt(
      df: Any,
      prefix: Optional[str] = None,
      suffix: Optional[str] = None,
      include_df_in_prompt: Optional[bool] = True,
      number_of_head_rows: int = 5,
  ) -> Tuple[BasePromptTemplate, List[PythonAstREPLTool]]:
      if suffix is not None:
          suffix_to_use = suffix
          if include_df_in_prompt:
              suffix_to_use = suffix_to_use.format(
                  df_head=str(
                      df.head(number_of_head_rows).to_markdown()
                  )
              )
      elif include_df_in_prompt:
          suffix_to_use = FUNCTIONS_WITH_DF.format(
              df_head=str(df.head(number_of_head_rows).to_markdown())
          )
      else:
          suffix_to_use = ""
  
      if prefix is None:
          prefix = PREFIX_FUNCTIONS
  
      tools = [PythonAstREPLTool(locals={"df": df})]
      system_message = SystemMessage(content=prefix + suffix_to_use)
      prompt = OpenAIFunctionsAgent.create_prompt(
          system_message=system_message
      )
      return prompt, tools
  
imports: from io import IOBase
  from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
  from langchain._api import warn_deprecated
  from langchain.agents import AgentExecutor, BaseSingleActionAgent
  from langchain_experimental.agents.agent_toolkits.pandas.prompt import FUNCTIONS_WITH_DF, FUNCTIONS_WITH_MULTI_DF, MULTI_DF_PREFIX, MULTI_DF_PREFIX_FUNCTIONS, PREFIX, PREFIX_FUNCTIONS, SUFFIX_NO_DF, SUFFIX_WITH_DF, SUFFIX_WITH_MULTI_DF
  from langchain.agents.mrkl.base import ZeroShotAgent
  from langchain.agents.mrkl.prompt import FORMAT_INSTRUCTIONS
  from langchain.agents.openai_functions_agent.base import OpenAIFunctionsAgent
  from langchain.agents.types import AgentType
  from langchain.callbacks.base import BaseCallbackManager
  from langchain.chains.llm import LLMChain
  from langchain.schema import BasePromptTemplate
  from langchain.schema.language_model import BaseLanguageModel
  from langchain.schema.messages import SystemMessage
  from langchain.tools import BaseTool
  from langchain_experimental.tools.python.tool import PythonAstREPLTool
label_desc: Use image node_id 4 for calling a global function with example usage: _get_functions_single_prompt(df, prefix, suffix, include_df_in_prompt, number_of_head_rows) and returns: prompt,  tools