code: def _get_samples_on_weak_nodes(
      self, sample_pos: DataFrame, weak_nodes: set
  ):
      # root node
      if 0 in weak_nodes:
          return sample_pos
      is_on_weak = sample_pos.apply_row(
          lambda s: s["node_idx"] in weak_nodes
      )
      weak_sample_pos = sample_pos.iloc(is_on_weak)
      return weak_sample_pos
  
imports: import typing
  import torch
  from typing import Dict
  from fate.arch.histogram import HistogramBuilder, DistributedHistogram
  from fate.ml.ensemble.learner.decision_tree.tree_core.decision_tree import Node
  from typing import List
  import numpy
  from fate.arch.dataframe import DataFrame
  from fate.arch import Context
  import logging
label_desc: Use image node_id 6 for calling the SBTHistogramBuilder obj's underlying member method code with example usage: obj._get_samples_on_weak_nodes(sample_pos, weak_nodes) and returns: weak_sample_pos, sample_pos