def aggregate_to_supersectors(series, level_name='sector'): """ Sum values of `series` across the `level_name` index level according to super sector """ idx_vals = series.index.get_level_values(level_name) new_idx = [__super_sectors__[s] for s in idx_vals] temp = dataframe.set_index_values(series, new_idx, level_name) return temp.groupby(level=temp.index.names).sum()
def replace_sectors_with_ids(df_or_series, level="sector"): """ Use `SECTOR_ID` to replace sector names with IDs in the MultiIndex level specified by `level` """ idx_vals = df_or_series.index.get_level_values(level) new_vals = [SECTOR_ID[v] for v in idx_vals] retval = dataframe.set_index_values(df_or_series, new_vals, level) return retval