class_docstr: Subset columns
  
  Parameters
  ----------
  names
      List of columns to keep
class_docstr_tok: ["Subset","columns","Parameters","--","--","--","--","--","names","List","of","columns","to","keep"]
code: def transform(self, df, return_summary=False):
      to_keep = copy(self.names)
  
      if self.dotted_path:
          fn = import_from_dotted_path(self.dotted_path)
          to_keep.extend(fn(df))
          # remove duplicates
          to_keep = list(set(to_keep))
  
      return df[to_keep], self.transform_summary(to_keep)
  
imports: from copy import copy, deepcopy
  import abc
  import inspect
  import importlib
  import itertools
  from collections.abc import Mapping
  import pandas
  from decorator import decorator
  from sklearn_evaluation.exceptions import DataSelectorError
  from sklearn_evaluation.util import map_parameters_in_fn_call
  from sklearn_evaluation.table import Table
label_desc: Use image node_id 2 for calling the ColumnKeep obj's underlying member method code with example usage: obj.transform(df, return_summary) and returns: df,  self