map_file_path()¶
- audformat.utils.map_file_path(index, func)[source]¶
Apply callable to file path in index.
Relies on
pandas.Index.map(), which can be slow. If speed is crucial, consider to change the index directly. In the following example we prefix every file with a folder and add a new extension, compare alsoaudformat.utils.expand_file_path()andaudformat.utils.replace_file_extension():root = "/root/" ext = ".new" if table.is_filewise: table.df.index = root + table.df.index + ext table.df.index.name = audformat.define.IndexField.FILE elif len(table.df.index) > 0: table.df.index = table.df.index.set_levels( root + table.df.index.levels[0] + ext, level=audformat.define.IndexField.FILE, )
- Parameters:
index (
Index) – index with file path conform to table specifications
- Return type:
- Returns:
index modified by
func- Raises:
ValueError – if index is not conform to table specifications
Examples
>>> index = filewise_index(["a/f1", "a/f2"]) >>> index Index(['a/f1', 'a/f2'], dtype='string', name='file') >>> map_file_path(index, lambda x: x.replace("a", "b")) Index(['b/f1', 'b/f2'], dtype='string', name='file')