docstr: Pulls PayPal payouts data.
  Parameters
  ----------
  query : ast.Select
      Given SQL SELECT query
  Returns
  -------
  pd.DataFrame
      PayPal payouts matching the query
  Raises
  ------
  ValueError
      If the query contains an unsupported condition
docstr_tok: ["Pulls","PayPal","payouts","data",".","Parameters","--","--","--","--","--","query",":","ast.Select","Given","SQL","SELECT","query","Returns","--","--","--","-","pd.DataFrame","PayPal","payouts","matching","the","query","Raises","--","--","--","ValueError","If","the","query","contains","an","unsupported","condition"]
code: def select(self, query: ast.Select) -> pd.DataFrame:
      """
      Pulls PayPal payouts data.
      Parameters
      ----------
      query : ast.Select
          Given SQL SELECT query
      Returns
      -------
      pd.DataFrame
          PayPal payouts matching the query
      Raises
      ------
      ValueError
          If the query contains an unsupported condition
      """
  
      select_statement_parser = SELECTQueryParser(
          query, "payouts", self.get_columns()
      )
      (
          selected_columns,
          where_conditions,
          order_by_conditions,
          result_limit,
      ) = select_statement_parser.parse_query()
  
      payout_batch_id = ""
  
      for a_where in where_conditions:
          if a_where[1] == "payout_batch_id":
              if a_where[0] != "=":
                  raise ValueError(
                      "Unsupported where operation for state"
                  )
  
              payout_batch_id = a_where[2]
      if not payout_batch_id:
          raise NotImplementedError(
              "payout_batch_id column is required for this table"
          )
  
      payouts_data = self.get_payout(payout_batch_id)  # Get the data
      payouts_df = pd.DataFrame(payouts_data)  # Create a DataFrame
  
      select_statement_executor = SELECTQueryExecutor(
          payouts_df,
          selected_columns,
          where_conditions,
          order_by_conditions,
      )
  
      payouts_df = select_statement_executor.execute_query()
  
      return payouts_df
  
imports: import paypalrestsdk
  import pandas
  from typing import Text, List, Dict
  from mindsdb_sql.parser import ast
  from mindsdb.integrations.libs.api_handler import APITable
  from mindsdb.integrations.handlers.utilities.query_utilities import SELECTQueryParser, SELECTQueryExecutor
label_desc: Use image node_id 1 for calling the PayoutsTable obj's underlying member method code with example usage: obj.select(query) and returns: payouts_df