code: def test_add_dataframe_with_non_numeric_index(pd_es, dask_es):
      df = pd.DataFrame(
          {"id": ["A_1", "A_2", "C", "D"], "values": [1, 12, -34, 27]}
      )
      dask_df = dd.from_pandas(df, npartitions=2)
  
      pd_es.add_dataframe(
          dataframe_name="new_dataframe",
          dataframe=df,
          index="id",
          logical_types={"id": Categorical, "values": Integer},
      )
  
      dask_es.add_dataframe(
          dataframe_name="new_dataframe",
          dataframe=dask_df,
          index="id",
          logical_types={"id": Categorical, "values": Integer},
      )
  
      pd.testing.assert_frame_equal(
          pd_es["new_dataframe"].reset_index(drop=True),
          dask_es["new_dataframe"].compute(),
      )
  
file_path: featuretools/featuretools/tests/entityset_tests/test_dask_es.py
imports: import pandas
  import pytest
  from woodwork.logical_types import Categorical, Datetime, Double, Integer, NaturalLanguage
  from featuretools.entityset import EntitySet
  from featuretools.tests.testing_utils import get_df_tags
  from featuretools.utils.gen_utils import Library, import_or_none
label_desc: Use image node_id 2 for calling a global function with example usage: test_add_dataframe_with_non_numeric_index(pd_es, dask_es) without return types