Return a python dict from a pandas dataframe, with columns as keys
        :return: dict

def to_dict(self, columns=None):
        """
        Return a python dict from a pandas dataframe, with columns as keys
        :return: dict
        """
        if columns:
            assert len(columns) == len(self.feature_names)
        d = [
            dict([
                (columns[i] if columns else col_name, row[i])
                for i, col_name in enumerate(self.feature_names)
            ])
            for row in self.data
        ]
        return d