code: def test_process_node_dataframes_min_words(self):
      # test different target cardinality
      with warnings.catch_warnings():
          warnings.filterwarnings("ignore", category=UserWarning)
          for min_words in [
              2,
              4000,
          ]:  # last one should skip encoding, and throw all to dirty_cat
              (
                  X_enc,
                  y_enc,
                  X_encs,
                  y_encs,
                  data_encoder,
                  label_encoder,
                  ordinal_pipeline,
                  ordinal_pipeline_target,
                  text_model,
                  text_cols,
              ) = process_nodes_dataframes(
                  ndf_reddit,
                  y=double_target_reddit,
                  use_scaler=None,
                  cardinality_threshold=40,
                  cardinality_threshold_target=40,
                  n_topics=20,
                  min_words=min_words,
                  model_name=model_avg_name,
                  feature_engine=resolve_feature_engine("auto"),
              )
              self.cases_tests(
                  X_enc,
                  y_enc,
                  data_encoder,
                  label_encoder,
                  "min_words",
                  min_words,
              )
  
imports: import datetime
  import graphistry
  import logging
  import numpy
  import pandas
  from typing import Any
  import pytest
  import unittest
  import warnings
  from graphistry.feature_utils import process_dirty_dataframes, process_nodes_dataframes, resolve_feature_engine, lazy_import_has_min_dependancy, lazy_import_has_dependancy_text, FastEncoder
  from graphistry.features import topic_model, ngrams_model
  from graphistry.constants import SCALERS
label_desc: Use image node_id 2 for calling the TestFeatureProcessors obj's underlying member method code with example usage: obj.test_process_node_dataframes_min_words() without return types