def recode(self, table: pd.DataFrame, validate=False) -> pd.DataFrame:
df = pd.DataFrame(index=table.index)<EOL>for column in self.columns:<EOL><INDENT>df = column.update_dataframe(df, table=table, validate=validate)<EOL><DEDENT>return df<EOL>
Return a fully recoded dataframe.

        Args:
            table (pd.DataFrame): A dataframe on which to apply recoding logic.
            validate (bool): If ``True``, recoded table must pass validation tests.