1
resposta

[Sugestão] Solução para a função .mad() depreciada

Fiz essa solução para substituir a função .mad() que foi depreciada:

Código Exercício:

df = pd.DataFrame(data = {'Fulano': [8, 10, 4, 8, 6, 10, 8],
                          'Sicrano': [7.5, 8, 7, 8, 8, 8.5, 7]}, 
                  index = ['Matemática', 
                           'Português', 
                           'Inglês', 
                           'Geografia', 
                           'História', 
                           'Física', 
                           'Química'])
df.rename_axis('Matérias', axis = 'columns', inplace = True)

Resolução:

def calcula_dm(lista): #Função que substitui o .mad() e aceita listas
    media_lista = 0
    somatorio_desvios = 0

    for i in lista:
        media_lista += i
    media_lista = media_lista / len(lista)


    for i in lista:
        if i >= media_lista:
            somatorio_desvios += (i - media_lista)
        else:
            somatorio_desvios += (i - media_lista) * -1
    somatorio_desvios = somatorio_desvios / len(lista)


    return somatorio_desvios
dm_notas_fulano = calcula_dm(df['Fulano'].tolist())
dm_notas_fulano

(out) 1.5510204081632648

dm_notas_Sicrano = calcula_dm(df['Sicrano'].tolist())
dm_notas_Sicrano

(out) 0.4693877551020408

1 resposta

Oi, Bruno, tudo bem?

Desculpe a demora em te responder!

Muito obrigado por compartilhar essas informações com a comunidade do fórum. Tenho certeza que vai ajudar muitos estudantes que estão aprendendo este conteúdo e podem estar com a mesma dificuldade.

Outra opção que você pode aplicar é usar o seguinte comando:

(df - df.mean()).abs().mean()

Continue mergulhando em seus estudos e caso tenha dúvida, não hesite em postar no fórum!

Abraços!