Source code for maup.normalize

from pandas import Series


[docs] def normalize(weights, level=0): """Takes a series of MultiIndexed weights and normalizes them with respect to one level (level 0 by default).""" source_assignment = Series( weights.index.get_level_values(level), index=weights.index ) denominators = source_assignment.map(weights.groupby(source_assignment).sum()) return (weights / denominators).fillna(0)