code: def test_missing_values(self):
      # by default, treat missing values as another valid value
      x_placeholder = pd.Series(["a", "b", "b", "c", "c"])
      x_nan = pd.Series(["a", "b", "b", np.NaN, np.NaN])
      x_float = pd.DataFrame({"col1": [1.0, 2.0, 2.0, np.NaN, np.NaN]})
      y = [0, 1, 1, 1, 1]
  
      for encoder_name in set(encoders.__all__) - {
          "HashingEncoder"
      }:  # HashingEncoder currently violates it
          with self.subTest(encoder_name=encoder_name):
              enc = getattr(encoders, encoder_name)()
              result_placeholder = enc.fit_transform(x_placeholder, y)
  
              enc = getattr(encoders, encoder_name)()
              result_nan = enc.fit_transform(x_nan, y)
  
              enc = getattr(encoders, encoder_name)(cols="col1")
              result_float = enc.fit_transform(x_float, y)
  
              pd.testing.assert_frame_equal(
                  result_placeholder, result_nan
              )
              np.testing.assert_equal(
                  result_placeholder.values, result_float.values
              )
  
imports: import warnings
  from datetime import timedelta
  import numpy
  from numpy.testing import assert_array_equal
  import pandas
  import sklearn
  import tests.helpers
  from sklearn.utils.estimator_checks import check_transformer_general, check_transformers_unfitted, check_n_features_in
  from sklearn.compose import ColumnTransformer
  from unittest import TestCase
  from copy import deepcopy
  import category_encoders
label_desc: Use image node_id 38 for calling the TestEncoders obj's underlying member method code with example usage: obj.test_missing_values() without return types