<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_manual_segmentation_to_data_frame(self, data_frame, segmentation_dictionary):
 """ Utility method to store manual segmentation of gait time series. :param data_frame: The data frame. It should have x, y, and z columns. :type data_frame: pandas.DataFrame :type segmentation_dictionary: dict :return: The data_frame with a new column named 'segmentation'. :rtype: pandas.DataFrame """

        
        # add some checks to see if dictionary is in the right format!
        
        data_frame['segmentation'] = 'unknown'
        
        for i, (k, v) in enumerate(segmentation_dictionary.items()):
            for start, end in v:                
                if type(start) != np.datetime64:
                    if start < 0: start = 0
                    if end > data_frame.size: end = data_frame.size
                    
                    start = data_frame.index.values[start]
                    end = data_frame.index.values[end]
                    
                data_frame.loc[start: end, 'segmentation'] = k
        
        return data_frame