Saltar al contenido

NumPy o Pandas: Mantener array escriba como entero mientras tiene un valor NaN

Indagamos por todo el mundo on line para así tener para ti la solución para tu problema, si tienes alguna difcultad déjanos tu pregunta y te contestamos con gusto.

Solución:

NaN no se puede almacenar en un número entero array. Esta es una limitación conocida de los pandas en este momento; He estado esperando que se progrese con los valores de NA en NumPy (similares a los NA en R), pero pasarán al menos de 6 meses a un año antes de que NumPy obtenga estas características, al parecer:

http://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na

(Esta función se agregó a partir de la versión 0.24 de pandas, pero tenga en cuenta que requiere el uso de la extensión dtype Int64 (en mayúsculas), en lugar del dtype int64 predeterminado (en minúsculas): https://pandas.pydata.org/pandas- docs/version/0.24/whatsnew/v0.24.0.html#opcional-integer-na-support)

Esta capacidad se agregó a pandas (a partir de la versión 0.24): https://pandas.pydata.org/pandas-docs/version/0.24/whatsnew/v0.24.0.html#opcional-integer-na-support

En este punto, requiere el uso de la extensión dtype Int64 (en mayúsculas), en lugar del dtype int64 predeterminado (en minúsculas).

Si el rendimiento no es el problema principal, puede almacenar cadenas en su lugar.

df.col = df.col.dropna().apply(lambda x: str(int(x)) )

Entonces puedes mezclarlo con NaN Tanto como quieras. Si realmente quiere tener números enteros, dependiendo de su aplicación, puede usar -1o 0o 1234567890o algún otro valor dedicado para representar NaN.

También puede duplicar temporalmente las columnas: una como la que tiene, con flotadores; el otro experimental, con ints o cadenas. Luego inserta asserts en todos los lugares razonables comprobando que los dos están sincronizados. Después de suficientes pruebas, puede soltar los flotadores.

Si te sientes a gusto, puedes dejar una reseña acerca de qué le añadirías a este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *