dados.Renda.mad()
dados.Renda.mad()
renda_dispersao_por_sexo_e_cor = pd.crosstab(dados.Cor,
dados.Sexo,
aggfunc = {'mad', 'var', 'std'},
values = dados.Renda).round(2)
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
renda_dispersao_por_sexo_e_cor = pd.crosstab(dados.Cor,
dados.Sexo,
aggfunc = {'mad', 'var', 'std'},
values = dados.Renda).round(2)
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
renda_dispersao_por_sexo_e_cor = pd.crosstab(dados.Cor,
dados.Sexo,
aggfunc = {'mad', 'var', 'std'},
values = dados.Renda).round(2)
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
Oi Orlando, tudo bem?
Em relação ao primeiro print, esse erro ocorre, pois o objeto 'Series' não tem um atributo mad
disponível. Como o método mad()
foi descontinuado do pandas a partir da versão 1.5.0, você pode tentar utilizar o seguinte código:
Renda = dados.Renda
(Renda-Renda.mean()).abs().mean()
Em relação aos outros prints. Notei que eles estão repetidos, referem-se ao mesmo código e também está relacionado ao atributo mad
, você pode substituir por:
renda_dispersao_por_sexo_e_cor = pd.crosstab(
dados.Cor,
dados.Sexo,
aggfunc={'mean', 'var', 'std', lambda x: (x - x.mean()).abs().mean()},
values=dados.Renda).round(2)
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
O código acima usa uma função lambda para calcular o desvio médio absoluto (MAD) da renda para cada grupo. O valor resultante é o MAD para cada grupo.
Vou destrinchar a função para entendê-la.
lambda x: (x - x.mean()).abs().mean()
x
: Representa os dados de renda para cada grupo.x - x.mean()
: Calcula a diferença entre cada valor de renda e a renda média do grupo..abs()
Pega o valor absoluto de cada diferença..mean()
: Calcula a média das diferenças absolutas.Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!