Como resumir as diferentes combinações de grupos por grupo?
Estou compilando uma tabela das 3 principais culturas por município. Alguns municípios têm as mesmas variedades de culturas na mesma ordem. Outros municípios têm as mesmas variedades de culturas em uma ordem diferent
df1 = pd.DataFrame( {
"County" : ["Harney", "Baker", "Wheeler", "Hood River", "Wasco" , "Morrow","Union","Lake"] ,
"Crop1" : ["grain", "melons", "melons", "apples", "pears", "raddish","pears","pears"],
"Crop2" : ["melons","grain","grain","melons","carrots","pears","carrots","carrots"],
"Crop3": ["apples","apples","apples","grain","raddish","carrots","raddish","raddish"],
"Total_pop": [2000,1500,3000,1500,2000,2500,2700,2000]} )
Posso fazer um groupby em Crop1, Crop2 e Crop3 e obter a soma do total_pop:
df1_grouped=df1.groupby(['Crop1',"Crop2","Crop3"])['Total_pop'].sum().reset_index()
Isso me dá o total para combinações específicas de culturas:
df1_grouped
apples melons grain 1500
grain melons apples 2000
melons grain apples 4500
pears carrots raddish 6700
raddish pears carrots 2500
O que eu gostaria, no entanto, é obter a população total em diferentes combinações de culturas - independentemente de a cultura listada ser cultura1, cultura2 ou cultura3. O resultado desejado seria este:
apples melons grain 8000
pears carrots raddish 9200
Obrigado por qualquer orientação.