No, no puedes, al menos con la versión actual de NumPy. Un nan
es un valor especial para matrices flotantes solo.
Se habla de introducir un bit especial que permitiría a los arreglos no flotantes almacenar lo que en la práctica correspondería a un nan
, pero hasta ahora (2012/10), solo son conversaciones.
Mientras tanto, es posible que desee considerar el paquete numpy.ma
: en lugar de elegir un entero no válido como -99999, puede utilizar el valor especial numpy.ma.masked
para representar un valor no válido.
a = np.ma.array([1,2,3,4,5], dtype=int)
a[1] = np.ma.masked
masked_array(data = [1 -- 3 4 5],
mask = [False True False False False],
fill_value = 999999)
@ tpg2114, sí, wa no tengo claro si la respuesta no se trata de numpy o pandas. – Yariv