code: def prepare_numeric_data(data):
      from pyspark.pandas.series import Series
  
      if isinstance(data, Series):
          data = data.to_frame()
  
      numeric_data = data.select_dtypes(
          include=[
              "byte",
              "decimal",
              "integer",
              "float",
              "long",
              "double",
              np.datetime64,
          ]
      )
  
      # no empty frames or series allowed
      if len(numeric_data.columns) == 0:
          raise TypeError(
              "Empty {0!r}: no numeric data to "
              "plot".format(numeric_data.__class__.__name__)
          )
  
      return data, numeric_data
  
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 1 for calling the NumericPlotBase obj's underlying member method code with example usage: obj.prepare_numeric_data(data) and returns: data,  numeric_data