code: def outliers(data, colname, lfence, ufence):
      # Builds expression to identify outliers
      expression = F.col("`%s`" % colname).between(lfence, ufence)
      # Creates a column to flag rows as outliers or not
      return data._psdf._internal.resolved_copy.spark_frame.withColumn(
          "__{}_outlier".format(colname), ~expression
      )
  
imports: import importlib
  import pandas
  import numpy
  from pandas.core.base import PandasObject
  from pandas.core.dtypes.inference import is_integer
  from pyspark.ml.feature import Bucketizer
  from pyspark.mllib.stat import KernelDensity
  from pyspark.sql import functions
  from pyspark.pandas.missing import unsupported_function
  from pyspark.pandas.config import get_option
  from pyspark.pandas.utils import name_like_string
label_desc: Use image node_id 4 for calling the BoxPlotBase obj's underlying member method code with example usage: obj.outliers(data, colname, lfence, ufence) and returns: data