'return only the rows that satisfy the supplied predicate'

def where(self, predicate=(lambda row: True)):

    where_table = Table(self.columns)
    where_table.rows = filter(predicate, self.rows)
    return where_table
