PANDAS Within Category Normalization
As you require it to be per week vs point of sale, you have to group them by those columns. Once grouped, you could run do the standard split-apply-combine, where based on the grouping, you get splits or groups, you can apply a function that normalizes data in this group and then you combine all the groups back.

You can read about it more here : https://pandas.pydata.org/pandas-docs/stable/groupby.html