This method splits file path in new columns allowing further
        filtering on those particular path parts:
            * File extension
            * File directory name (full path excluding file name)
            * File name (excluding directories)
            * Path list including each directory/file as a separated element

        :param column: column where the file path is found
        :type column: string

        :return: returns the original dataframe with new columns named
                 'file_ext', 'file_dir_name', 'file_name', 'path_list'
        :rtype: pandas.DataFrame

def enrich(self, column):
        """ This method splits file path in new columns allowing further
        filtering on those particular path parts:
            * File extension
            * File directory name (full path excluding file name)
            * File name (excluding directories)
            * Path list including each directory/file as a separated element

        :param column: column where the file path is found
        :type column: string

        :return: returns the original dataframe with new columns named
                 'file_ext', 'file_dir_name', 'file_name', 'path_list'
        :rtype: pandas.DataFrame
        """

        if column not in self.data:
            return self.data

        # Insert new columns
        self.data['file_name'] = \
            self.data.apply(lambda row: row[column][row[column].rfind('/') + 1:],
                            axis=1)
        self.data['file_ext'] = \
            self.data.apply(lambda row:
                            '' if (row.file_name.rfind('.') == -1)
                            else row.file_name[row.file_name.rfind('.') + 1:],
                            axis=1)
        # To get correct dir name:
        # *  Replace multiple consecutive slashes by just one
        self.data['file_dir_name'] = self.data[column].str.replace('/+', '/')
        self.data['file_dir_name'] = \
            self.data.apply(lambda row:
                            row.file_dir_name if row.file_dir_name.startswith('/')
                            else '/' + row.file_dir_name,
                            axis=1)
        self.data['file_dir_name'] = \
            self.data.apply(lambda row:
                            row.file_dir_name[:row.file_dir_name.rfind('/') + 1],
                            axis=1)

        # Clean filepath for splitting path parts:
        # * Replace multiple consecutive slashes by just one
        # * Remove leading slash if any, to avoid str.split to add an empty
        #   string to the resulting list of slices
        # * Remove trailing slash if any, to avoid str.split to add an empty
        #   string to the resulting list of slices
        self.data['file_path_list'] = self.data[column].str.replace('/+', '/')
        self.data['file_path_list'] = self.data.file_path_list.str.replace('^/', '')
        self.data['file_path_list'] = self.data.file_path_list.str.replace('/$', '')
        self.data['file_path_list'] = self.data.file_path_list.str.split('/')

        return self.data