class_docstr: Handles connection and execution of the Qdrant statements.
class_docstr_tok: ["Handles","connection","and","execution","of","the","Qdrant","statements","."]
docstr: Private method to process the results of a select query
  
  Args:
      results: A List[Records] or List[ScoredPoint]. Defaults to None
      columns: List of column names specified in the query. Defaults to None
  
  Returns:
      Dataframe: A processed pandas dataframe
docstr_tok: ["Private","method","to","process","the","results","of","a","select","query","Args",":","results",":","A","List","[","Records","]","or","List","[","ScoredPoint","]",".","Defaults","to","None","columns",":","List","of","column","names","specified","in","the","query",".","Defaults","to","None","Returns",":","Dataframe",":","A","processed","pandas","dataframe"]
code: def _process_select_results(self, results=None, columns=None):
      """Private method to process the results of a select query
  
      Args:
          results: A List[Records] or List[ScoredPoint]. Defaults to None
          columns: List of column names specified in the query. Defaults to None
  
      Returns:
          Dataframe: A processed pandas dataframe
      """
      ids, documents, metadata, distances = [], [], [], []
  
      for result in results:
          ids.append(result.id)
          # The documents and metadata are stored as a dict in the payload
          documents.append(result.payload["document"])
          metadata.append(
              {
                  k: v
                  for k, v in result.payload.items()
                  if k != "document"
              }
          )
  
          # Score is only available for similarity search results
          if "score" in result:
              distances.append(result.score)
  
      payload = {
          TableField.ID.value: ids,
          TableField.CONTENT.value: documents,
          TableField.METADATA.value: metadata,
      }
  
      # Filter result columns
      if columns:
          payload = {
              column: payload[column]
              for column in columns
              if column != TableField.EMBEDDINGS.value
              and column in payload
          }
  
      # If the distance list is empty, don't add it to the result
      if distances:
          payload[TableField.DISTANCE.value] = distances
  
      return pd.DataFrame(payload)
  
imports: from collections import OrderedDict
  from typing import Any, List, Optional
  from itertools import zip_longest
  from qdrant_client import QdrantClient, models
  import pandas
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from mindsdb.integrations.libs.response import RESPONSE_TYPE
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerStatusResponse
  from mindsdb.integrations.libs.vectordatabase_handler import FilterCondition, FilterOperator, TableField, VectorStoreHandler
  from mindsdb.utilities import log
label_desc: Use image node_id 14 for calling the QdrantHandler obj's underlying member method code with example usage: obj._process_select_results(results, columns) and returns: pd