def append_columns(self, columns):
self.append_records([dict(time=t, duration=d, value=v, confidence=c)<EOL>for (t, d, v, c)<EOL>in six.moves.zip(columns['<STR_LIT:time>'],<EOL>columns['<STR_LIT>'],<EOL>columns['<STR_LIT:value>'],<EOL>columns['<STR_LIT>'])])<EOL>
Add observations from column-major storage.

        This is primarily used for deserializing densely packed data.

        Parameters
        ----------
        columns : dict of lists
            Keys must be `time, duration, value, confidence`,
            and each much be a list of equal length.