Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

erro 1 desvio médio absoluto

dados.Renda.mad()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas
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

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!