def METHOD_NAME(self):
    """
    Returns
    -------
    DataFrame with three columns: 'end', 'section_end', 'section_start'.
        Instead of storing a list of TimeFrames on each row,
        we store one TimeFrame per row.  This is because pd.HDFStore cannot
        save a DataFrame where one column is a list if using 'table' format'.
        We also need to strip the timezone information from the data columns.
        When we import from cache, we assume the timezone for the data 
        columns is the same as the tz for the index.
    """
    index_for_cache = []
    data_for_cache = [] # list of dicts with keys 'end', 'section_end', 'section_start'
    for index, row in self._data.iterrows():
        for section in row['sections']:
            index_for_cache.append(index)
            data_for_cache.append(
                {'end': row['end'], 
                 'section_start': convert_none_to_nat(section.start),
                 'section_end': convert_none_to_nat(section.end)})
    df = pd.DataFrame(data_for_cache, index=index_for_cache)
    return df.apply(pd.to_numeric, errors='ignore')