No curso, deram a solução para contar a quantidade de NaN (somando os "True" que valem como se fosse 1), também deram uma opção para substituir o valor do NaN por uma média, porém, como posso saber a posição dos NaN?
No curso, deram a solução para contar a quantidade de NaN (somando os "True" que valem como se fosse 1), também deram uma opção para substituir o valor do NaN por uma média, porém, como posso saber a posição dos NaN?
Olá Pedro!
Para saber a posição dos NaN em um array utilizando o NumPy, você pode utilizar a função np.isnan()
. Essa função retorna um array booleano com o mesmo formato do array original, onde cada elemento é True
se for NaN e False
caso contrário.
A partir desse array booleano, você pode utilizar a função np.where()
para obter as posições onde os valores são True
. Essa função retorna uma tupla com as coordenadas dos elementos que satisfazem a condição.
Exemplo:
import numpy as np
# Exemplo de array com valores NaN
array = np.array([1.0, np.nan, 3.0, np.nan, 5.0])
# Encontrar a posição dos NaNs
nan_positions = np.isnan(array)
print(np.where(nan_positions)[0])