def filter(self, func=None, **query):
        if callable(func):
            result = filter(func, self)
            result.insert(0, self.default_columns)
            return TableFu(result, **self.options)
        else:
            result = self
            for column, value in query.items():
                result = result.filter(lambda r: r[column] == value)
            return result
Tables can be filtered in one of two ways:
dataset/ETHPy150Open eyeseast/python-tablefu/table_fu/__init__.py/TableFu.filter