docs: def retrieve_cluster(self, df, cluster_no):
          """
          Extracts the cluster at the given index from the input dataframe
  
          :param df: the dataframe that contains the clusters
          :param cluster_no: the cluster number
          :return: returns the extracted cluster
          """
          if self.is_pyclustering_instance(self.model):
              clusters = self.model.get_clusters()
              mask = []
              for i in range(0, df.shape[0]):
                  mask.append(i in clusters[cluster_no])
          else:
              mask = self.model.labels_ == cluster_no  # a boolean mask
          return df[mask]