1
resposta

Erro em mod 5: medidas de dispersão | desvio medio absoluto

Olá. Segui as diretrizes do video para obter o calculo do desvio padrão mas os valores dos desvios aparecem em branco, com a seguinte mensagem:

':1: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy notas_fulano['Desvio'] = notas_fulano['Fulano'] - nota_media_fulano'

1 resposta

Olá! O SettingWithCopyWarning é um aviso que o pandas emite quando detecta que você pode estar tentando modificar uma cópia de um DataFrame ou Series, e não o DataFrame original1. Isso pode levar a comportamentos inesperados em seu código.

No seu caso, você está tentando criar uma nova coluna ‘Desvio’ no DataFrame notas_fulano subtraindo nota_media_fulano de cada valor na coluna ‘Fulano’. O aviso sugere que você use o método .loc para fazer isso, que garante que você está modificando o DataFrame original e não uma cópia1.

Então, em vez de:

notas_fulano['Desvio'] = notas_fulano['Fulano'] - nota_media_fulano

Você deve tentar:

notas_fulano.loc[:, 'Desvio'] = notas_fulano['Fulano'] - nota_media_fulano

Espero que isso resolva o seu problema! Se você tiver mais perguntas, fique à vontade para perguntar.

  1. https://stackoverflow.com/questions/20625582/how-to-deal-with-settingwithcopywarning-in-pandas
  2. https://realpython.com/pandas-settingwithcopywarning/
  3. https://pythonbaba.com/settingwithcopywarning-in-pandas/