У меня есть следующий df
d = {'CAT':['C1','C2','C1','C2'],'A': [10, 20,30,40], 'B': [3, 4,10,3]}
df1 = pd.DataFrame(data=d)
Я пытаюсь включить новый столбец, полученный путем деления «A» на самый высокий «B», это категория («CAT»). То есть я хочу разделить 10 на 10, 20 на 4, 10 на 10 и 40 на 4, чтобы получить следующий df
d = {'CAT':['C1','C2','C1','C2'],'A': [10, 20,30,40], 'B': [3, 4,10,3], 'C':[1,5,3,10]}
Есть предложения?
Я считаю, что легко обойтись без условия / groupby на CAT
d = {'A': [10, 20,30,40], 'B': [3, 4,10,3]}
df1 = pd.DataFrame(data=d)
df1 = df1.apply(lambda x:x.A/max(df1['B']),axis=1)
, но с 'CAT' у меня проблемы.