class_docstr: The operator is not really threadsafe as python cannot
  play with two locales at the same time. stop words
  should not be implemented here as the tokenization
  usually happens after this steps.
code: def _run_column(  # type: ignore
      cin,
      cout,
      slocale=None,
      stops=None,
      raw_stops=None,
      is_case_sensitive=None,
      case_change_action=None,
  ):
      if pylocale.getlocale() != slocale:
          try:
              pylocale.setlocale(pylocale.LC_ALL, slocale)
          except pylocale.Error as e:
              warnings.warn(
                  f"Unknown local setting {slocale!r} (current: {pylocale.getlocale()!r}) - {e!r}.",
                  stacklevel=1,
              )
      cout[:] = cin[:]
  
      for i in range(0, cin.shape[0]):
          if isinstance(cout[i], float):
              # nan
              cout[i] = ""
          else:
              cout[i] = StringNormalizer.strip_accents_unicode(cout[i])
  
      if is_case_sensitive and len(stops) > 0:
          for i in range(0, cin.shape[0]):
              cout[i] = StringNormalizer._remove_stopwords(
                  cout[i], raw_stops
              )
  
      if case_change_action == "LOWER":
          for i in range(0, cin.shape[0]):
              cout[i] = cout[i].lower()
      elif case_change_action == "UPPER":
          for i in range(0, cin.shape[0]):
              cout[i] = cout[i].upper()
      elif case_change_action != "NONE":
          raise RuntimeError(
              f"Unknown option for case_change_action: {case_change_action!r}."
          )
  
      if not is_case_sensitive and len(stops) > 0:
          for i in range(0, cin.shape[0]):
              cout[i] = StringNormalizer._remove_stopwords(
                  cout[i], stops
              )
  
      return cout
  
file_path: onnx/onnx/reference/ops/op_string_normalizer.py
imports: import locale
  import unicodedata
  import warnings
  import numpy
  from onnx.reference.op_run import OpRun, RuntimeTypeError
label_desc: Use image node_id 2 for calling the StringNormalizer obj's underlying member method code with example usage: obj._run_column(cin, cout, slocale, stops, raw_stops, is_case_sensitive, case_change_action) and returns: cout