code: def _parse_feature_names(feature_names, sep="="):
      """
      taken verbatim from aif360
      @param feature_names: list of column names.
      @param sep: separator of one hot encoded column names eg. =
      @return: returns the categorical features (defaultdict) and numerical features (list).
      """
      feature_names_dum_d = defaultdict(list)
      feature_names_nodum = list()
      for fname in feature_names:
          if sep in fname:
              fname_dum, v = fname.split(sep, 1)
              feature_names_dum_d[fname_dum].append(v)
          else:
              feature_names_nodum.append(fname)
  
      return feature_names_dum_d, feature_names_nodum
  
file_path: AIX360/aix360/algorithms/imd/utils.py
imports: import numpy
  import pandas
  import networkx
  from collections import defaultdict
  from aix360.algorithms.imd.rule import Rule
label_desc: Use image node_id 3 for calling a global function with example usage: _parse_feature_names(feature_names, sep) and returns: feature_names_dum_d,  feature_names_nodum