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')