class_docstr: Perform a database (SQL) merge operation between two DataFrame objects
  using either columns as keys or their row indexes
class_docstr_tok: ["Perform","a","database","(","SQL",")","merge","operation","between","two","DataFrame","objects","using","either","columns","as","keys","or","their","row","indexes"]
code: def get_result(self):
      if self.indicator:
          self.left, self.right = self._indicator_pre_merge(
              self.left, self.right
          )
  
      join_index, left_indexer, right_indexer = self._get_join_info()
  
      ldata, rdata = self.left._data, self.right._data
      lsuf, rsuf = self.suffixes
  
      llabels, rlabels = items_overlap_with_suffix(
          ldata.items, lsuf, rdata.items, rsuf
      )
  
      lindexers = {1: left_indexer} if left_indexer is not None else {}
      rindexers = (
          {1: right_indexer} if right_indexer is not None else {}
      )
  
      result_data = concatenate_block_managers(
          [(ldata, lindexers), (rdata, rindexers)],
          axes=[llabels.append(rlabels), join_index],
          concat_axis=0,
          copy=self.copy,
      )
  
      typ = self.left._constructor
      result = typ(result_data).__finalize__(
          self, method=self._merge_type
      )
  
      if self.indicator:
          result = self._indicator_post_merge(result)
  
      self._maybe_add_join_keys(result, left_indexer, right_indexer)
  
      self._maybe_restore_index_levels(result)
  
      return result
  
imports: import copy
  import string
  import warnings
  import numpy
  from pandas._libs import hashtable, join, lib
  import pandas.compat
  from pandas.compat import filter, lzip, map, range, zip
  from pandas.errors import MergeError
  from pandas.util._decorators import Appender, Substitution
  from pandas.core.dtypes.common import ensure_float64, ensure_int64, ensure_object, is_array_like, is_bool, is_bool_dtype, is_categorical_dtype, is_datetime64_dtype, is_datetime64tz_dtype, is_datetimelike, is_dtype_equal, is_extension_array_dtype, is_float_dtype, is_int64_dtype, is_integer, is_integer_dtype, is_list_like, is_number, is_numeric_dtype, is_object_dtype, needs_i8_conversion
  from pandas.core.dtypes.missing import isnull, na_value_for_dtype
  from pandas import Categorical, DataFrame, Index, MultiIndex, Series, Timedelta
  import pandas.core.algorithms
  from pandas.core.arrays.categorical import _recode_for_categories
  import pandas.core.common
  from pandas.core.frame import _merge_doc
  from pandas.core.internals import concatenate_block_managers, items_overlap_with_suffix
  import pandas.core.sorting
  from pandas.core.sorting import is_int64_overflow_possible
label_desc: Use image node_id 2 for calling the _MergeOperation obj's underlying member method code with example usage: obj.get_result() and returns: result