[Python-es] Ignorar Datos Nulos/Vacíos
Jose Sabater Montes
jsm en iaa.es
Mie Oct 5 12:19:03 CEST 2011
On Tuesday 04 October 2011 19:14:23 Juan Camilo Hernandez D wrote:
> Gracias Marcos por la respuesta.
>
> Termine convirtiendo todos estos datos Nulos a NaN, pero ahora me ha
> surgido la siguiente duda:
>
> Existe alguna función que me permita contar el numero de datos NaN que
> tengo en un array?
Hola,
Con la función numpy.isnan puedes probar que elementos son NaN. Como devuelve
un array booleano puedes obtener los índices con numpy.where y contar aquí (el
número de elementos del primer array de índices que devuelve) o tras aplicar
el resultado al array.
Ejemplo:
>>> a = numpy.array([1,1,1,numpy.NAN,numpy.NAN])
>>> numpy.isnan(a)
array([False, False, False, True, True], dtype=bool)
>>> numpy.where(numpy.isnan(a))
(array([3, 4]),)
>>> len(numpy.where(numpy.isnan(a))[0])
2
>>> a[numpy.where(numpy.isnan(a))]
array([ NaN, NaN])
>>> len(a[numpy.where(numpy.isnan(a))])
2
Un saludo,
Pepe
Más información sobre la lista de distribución Python-es