Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Calcular km_media com anos > 2000

Alguem sabe o jeito correto de fazer a divisão somente com os km que representam anos > 2000? Quando eu tento isso, não funciona.

dados [0] / dados [:, dados[1] > 2000]

Obrigado! -Pedro

1 resposta
solução!

Olá, Pedro. Tudo bem?

Vendo sua resolução, percebi que você já encontrou uma forma de selecionar os dados em que os anos são maiores que 2000, que é a seguinte:

dados[:, dados[1] > 2000]

Saída:

array([[44410., 0., 25757.], [ 2003., 2019., 2006.]])

Nesse caso, recebemos todos os dados porque você selecionou as linhas sem explicitar o valor de início e de parada, através do :, ou seja, você selecionou todas as linhas, tanto as do km quanto as dos anos.

Mas como acessamos apenas os valores dos km's e dos anos separadamente?

Para isso, ao invés de utilizar os : para selecionar todas as linhas, vamos selecionar apenas as linhas que desejamos.

Para selecionar a linha que contém os valores dos km's, utilizamos apenas o índice 0, dessa forma:

dados[0, dados[1] > 2000]

Saída:

array([44410., 0., 25757.])

Da mesma forma, para selecionar apenas a linha que contém os valores dos anos, utilizamos apenas o índice 1, como podemos ver a seguir:

dados[1, dados[1] > 2000]

Saída:

array([2003., 2019., 2006.])

Pronto, agora temos os valores condizentes aos anos maiores que 2000 tanto dos km's quanto dos próprios anos. Agora é só dividir:

dados[0, dados[1] > 2000]/dados[1, dados[1] > 2000]

Saída:

array([22.17174239, 0. , 12.83998006])

Espero ter ajudado, Pedro. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)

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