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])