Returns a dataswim instance with a dataframe limited
        to some columns

        :param cols: names of the columns
        :type cols: str
        :return: a dataswim instance
        :rtype: Ds

        :example: ``ds2 = ds.keep_("Col 1", "Col 2")``

def keep_(self, *cols) -> "Ds":
        """
        Returns a dataswim instance with a dataframe limited
        to some columns

        :param cols: names of the columns
        :type cols: str
        :return: a dataswim instance
        :rtype: Ds

        :example: ``ds2 = ds.keep_("Col 1", "Col 2")``
        """
        try:
            ds2 = self._duplicate_(self.df[list(cols)])
        except Exception as e:
            self.err(e, "Can not remove colums")
            return
        self.ok("Columns", " ,".join(cols), "kept")
        return ds2