En los pandas, si los demás datos son todos de tipo numérico, los pandas reemplazarán automáticamente None con NaN e incluso pueden invalidar el efecto de la operación s [s.isnull ()] = None y s.replace (NaN, None) . En este momento, debe usar la función where para reemplazar.
Ninguno se puede importar directamente a la base de datos como un valor nulo, y se informarán los errores al importar datos que contengan NaN.
Muchas funciones de numpy y pandas pueden manejar NaN, pero si encuentra Ninguno, obtendrá un error .
None y NaN no pueden ser manejados por la función groupby de pandas. Los grupos que contienen None o NaN son ignorados.
En resumen, None viene con Python, y NaN es compatible con numpy y pandas
Resumen de la comparación de equivalencia: (Verdadero indica que se considera igual)
En Dataframe y Series, puede usar isna o notna para juzgar si es NAN
Debido a la comparación de equivalencia, None y NaN no son consistentes en cada escenario, y relativamente hablando, None es más estable.
Para no causar problemas innecesarios y una carga de memoria adicional. En la práctica, se recomienda seguir los siguientes tres principios:
1. En el proceso de procesamiento de datos con pandas y numpy, None y NaN se unifican en NaN para admitir más funciones .
2. Si desea juzgar la equivalencia de Series y numpy.array como un todo, use las funciones especiales Series.equals y numpy.array para tratarlo. No use == para juzgar
3. Si desea importar los datos a la base de datos, reemplace NaN por Ninguno.
Enlace de referencia:
https://blog.csdn.net/weixin_43746235/article/details/86296140?utm_source=distribute.pc_relevant.none-task
https://blog.csdn.net/zn505119020/article/details/78530827
El método de intercambio de NaN y Ninguno:
https://www.jb51.net/article/149749.htm