1
resposta

[Sugestão] Uma sugestão para o arredondamento de casas decimais e uma observação de um possível erro de digitação sobre o exemplo da atividade 04

Primeira imagem do exemploAcredito que seja uma sugestão a respeito dessa primeira imagem do exemplo. A penultima linha (linha 15) está com um \n "intruso". E aqui, o arrendondamento para 2 casas decimais nas linhas 15 e 16 (.round(2)) só funcionou fazendo ele na declaração das variáveis, nas linhas 11 e 12, ficando assim:

Calculando o desvio padrão das visitas por semana

desvio_padrao_semana1 = round(df.loc["Semana 1"].std(), 2) desvio_padrao_semana2 = round(df.loc["Semana 2"].std(), 2)

print(df) print("Desvio Padrão da Semana 1:", desvio_padrao_semana1) print("Desvio Padrão da Semana 2:", desvio_padrao_semana2)

1 resposta

Olá, Jonatas! Como vai?

Agradecemos sua observação, a escolha de acrescentar o \n em print("\nDesvio Padrão da Semana 1:", desvio_padrao_semana1) é para pular uma linha após a exibição do dataframe. Sem esse \n, ficaria assim:

Tabela exibindo dados semanais com valores para cada dia e os desvios padrões calculados para duas semanas.

Com o \n no print, pularia uma linha, melhorando a leitura do resultado, dessa forma:

Tabela exibindo dados semanais com valores para cada dia e os desvios padrões calculados para duas semanas.

Mas claro, existem outras maneiras de resolver essa situação, uma delas seria simplesmente fazer assim:

print(df)
print("\n")
print("Desvio Padrão da Semana 1:", desvio_padrao_semana1)
print("Desvio Padrão da Semana 2:", desvio_padrao_semana2)

Isso vai da prática e gosto de cada programador...

E sobre as linhas:

print("\nDesvio Padrão da Semana 1:", desvio_padrao_semana1.round(2))
print("Desvio Padrão da Semana 2:", desvio_padrao_semana2.round(2))

Realmente estão com um erro, já repassei isso para a equipe.

Quando aplicamos o método std(), ele retorna um valor do tipo float, que representa o desvio padrão.

E ao fazer desvio_padrao_semana1.round(2), estamos tentando chamar o método .round() diretamente sobre o número float. Apresentando o seguinte erro:

Captura de tela do código Python calculando o desvio padrão semanal usando o Pandas e NumPy, com um AttributeError relacionado ao arredondamento de um float.

Ou seja, o tipo float puro não possui o método .round() em Python.

Uma outra maneira de resolver esse problema também seria:

Captura de tela do código Python demonstrando manipulação de dados usando Pandas e NumPy, mostrando um DataFrame e cálculos de desvio padrão por duas semanas.

Está funcionando corretamente, pois estamos usando a função round() embutida do Python. Sem apresentar erros, porque agora estamos recebendo o float como parâmetro.

Se precisar, fico à disposição! Conte com o apoio do fórum.

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!