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

Retorno da Km_media negativo

Meu código:

for index, row in dataset.iterrows():
  if(2019 - row['Ano'] != 0):
    dataset.loc[index, 'Km_media'] = row['Quilometragem'] / 2019 - row['Ano']
  else:
    dataset.loc[index, 'Km_media'] = 0

dataset 

Mas por algum motivo está retornando a média em valor negativo. O que fiz de errado/diferente?

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

2 respostas
solução!

Olá, Vinicius! Tudo bem com você?

O comportamento inesperado está acontecendo por causa desse trecho de código dataset.loc[index, 'Km_media'] = row['Quilometragem'] / 2019 - row['Ano']. Quando você faz dessa forma você está dividindo row['Quilometragem'] por 2019 e o resultado dessa divisão você está subtraindo row['Ano'], o que causará um resultado final negativo.

Para resolver isso basta colocar o denominador com um parênteses, da seguinte forma:

for index, row in dataset.iterrows():
  if(2019 - row['Ano'] != 0):
    dataset.loc[index, 'Km_media'] = row['Quilometragem'] / (2019 - row['Ano'])
  else:
    dataset.loc[index, 'Km_media'] = 0

dataset 

Qualquer dúvida estou à disposição.

Bons estudos.

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

Faz todo sentido!!! Valeu!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software