Boa tarde!
def dma(x):
return (x - x.mean()).abs().mean()
renda_dispersao_por_sexo_e_cor = pd.crosstab(dados.Cor, dados.Sexo, values=dados.Renda.round(2), aggfunc={dma, 'var', 'std'})
renda_dispersao_por_sexo_e_cor.rename(index=cor, inplace=True)
renda_dispersao_por_sexo_e_cor.rename(columns=sexo, inplace=True)
renda_dispersao_por_sexo_e_cor
Econtrei essa solução para adicionar o desvio médio absoluto dentro do parâmetro aggfunc depois de apanhar um bocado. Durante a pesquisa descobri o método pivot_table, que aceita multiplas funções personalizadas diferentre do crosstab que aceita apenas uma. A minha dúvida é se não seria viável sempre usar o método pivot_table afim de evitar futuros problemas. Na substituição poderia haver efeitos colaterais nos dados que se deseja? O uso do método pivot_table seria mais eficiênte?