code: def _drop_samples_on_leaves(
      self,
      new_sample_pos: DataFrame,
      data: DataFrame,
      grad_and_hess: DataFrame,
  ):
      assert len(new_sample_pos) == len(
          data
      ), "sample pos num not match data num, got {} sample pos vs {} data".format(
          len(new_sample_pos), len(data)
      )
      x = new_sample_pos >= 0
      if len(new_sample_pos) == len(grad_and_hess):
          pack_data = DataFrame.hstack(
              [data, new_sample_pos, grad_and_hess]
          ).iloc(x)
          new_data = pack_data.create_frame(columns=data.schema.columns)
          update_pos = pack_data.create_frame(
              columns=new_sample_pos.schema.columns
          )
          grad_and_hess = pack_data.create_frame(
              columns=grad_and_hess.schema.columns
          )
          logger.info(
              "drop leaf samples, new sample count is {}, {} samples dropped".format(
                  len(new_sample_pos), len(data) - len(new_data)
              )
          )
          return new_data, update_pos, grad_and_hess
      else:
          # Goss
          pack_data = DataFrame.hstack([data, new_sample_pos]).iloc(x)
          new_data = pack_data.create_frame(columns=data.schema.columns)
          update_pos = pack_data.create_frame(
              columns=new_sample_pos.schema.columns
          )
          x = x.loc(
              grad_and_hess.get_indexer(target="sample_id"),
              preserve_order=True,
          )
          grad_and_hess = grad_and_hess.iloc(x)
  
          return new_data, update_pos, grad_and_hess
  
imports: import numpy
  import pandas
  from fate.arch import Context
  from fate.arch.dataframe import DataFrame
  from fate.ml.ensemble.learner.decision_tree.tree_core.splitter import SplitInfo
  from typing import List
  import logging
label_desc: Use image node_id 11 for calling the DecisionTree obj's underlying member method code with example usage: obj._drop_samples_on_leaves(new_sample_pos, data, grad_and_hess) and returns: new_data,  update_pos,  grad_and_hess, new_data,  update_pos,  grad_and_hess