determine o valor máximo da coluna por outra coluna no dataframe do pandas

Tenho um quadro de dados que contém o ID do local, o nome da loja e a receita da loja. Quero determinar a loja que tem a receita máxima por área

Eu escrevi um código para isso, mas não tenho certeza se existe uma maneira melhor de lidar com este caso

import pandas as pd    
dframe=pd.DataFrame({"Loc_Id":[1,2,2,1,2,1,3,3],"Store":["A","B","C","B","D","B","A","C"],
                 "Revenue":[50,70,45,35,80,70,90,65]})

#group by location id, then save max per location in new column
dframe["max_value"]=dframe.groupby("Loc_Id")["Revenue"].transform(max)

#create new column by checking if the revenue equal to max revenue
dframe["is_loc_max"]=dframe.apply(lambda x: 1 if x["Revenue"]==x["max_value"] else 0,axis=1)

#drop the intermediate column 
dframe.drop(columns=["max_value"],inplace=True)

e Esta é a saída necessária:

existe uma maneira melhor de obter essa saída

questionAnswers(1)

yourAnswerToTheQuestion