¿Es correcto afirmar que la nueva biblioteca de Polars está superando a Pandas en múltiples puntos de referencia, o la biblioteca de Pandas sigue siendo la opción dominante?

Mientras realizaba tareas de análisis de datos, es probable que se haya encontrado con pandas. Ha sido la biblioteca más predominante en el análisis de datos durante mucho tiempo. Polars, por otro lado, es una biblioteca relativamente nueva que cuenta con un alto rendimiento y eficiencia de memoria. ¿Pero cual es mejor?

Aquí, verá una comparación del rendimiento entre Pandas y Polars en una variedad de tareas comunes de manipulación de datos.

Medición del rendimiento: métricas y conjunto de datos de referencia

Esta comparación tendrá en cuenta la capacidad de Pandas y polares bibliotecas para manipular el conjunto de datos de Black Friday Sale de Kaggle. Este conjunto de datos contiene 550 068 filas de datos. Incluye información sobre datos demográficos del cliente, historial de compras y detalles del producto.

Para garantizar mediciones de desempeño justas, la comparación utilizará el tiempo de ejecución como una métrica de desempeño estándar en cada tarea. La plataforma para ejecutar el código de cada tarea de comparación será Google Colab.

instagram viewer

El código fuente completo que compara las bibliotecas Pandas y Polars está disponible en un repositorio GitHub.

Lectura de datos de un archivo CSV

Esta tarea compara el tiempo que tarda cada biblioteca en leer datos del conjunto de datos de Black Friday Sale. El conjunto de datos está en formato CSV. Pandas y Polars ofrecen una funcionalidad similar para esta tarea.

Pandas tarda el doble del tiempo que tarda Polars en leer datos en el conjunto de datos de Black Friday Sale.

Selección de columnas

Esta tarea mide el tiempo que tarda cada biblioteca en seleccionar las columnas del conjunto de datos. Implica seleccionar la ID_usuario y Compra columnas

Los polares tardan mucho menos tiempo en seleccionar columnas del conjunto de datos en comparación con los pandas.

Filtrado de filas

Esta tarea compara el rendimiento de cada biblioteca en filas de filtrado donde el Género la columna es F del conjunto de datos.

Los polares tardan muy poco tiempo en filtrar las filas en comparación con los pandas.

Agrupación y agregación de datos

Esta tarea consiste en agrupar datos por una o más columnas. Luego, realizando algunas funciones de agregación en los grupos. Mide el tiempo que tarda cada biblioteca en agrupar los datos por Género columna y calcule el monto de compra promedio para cada grupo.

De nuevo, los Polar superan a los Panda. Pero el margen no es tan grande como el de filtrar las filas.

Aplicar funciones a los datos

Esta tarea consiste en aplicar una función a una o más columnas. Mide el tiempo que tarda cada biblioteca en multiplicar el Compra columna por 2.

Apenas se puede ver la barra Polars. Los polares una vez más superan a los pandas.

Fusión de datos

Esta tarea implica fusionar dos o más DataFrames sobre la base de que existen una o más columnas comunes. Mide el tiempo que tarda cada biblioteca en fusionar el ID_usuario y Compra columnas de dos marcos de datos separados.

A ambas bibliotecas les lleva algo de tiempo completar esta tarea. Pero Polars tarda casi la mitad del tiempo que tarda Pandas en fusionar los datos.

¿Por qué Polars es capaz de superar a Pandas?

En todas las tareas de manipulación de datos anteriores, Polars supera a Pandas. Hay varias razones por las que Polars puede superar a Pandas en tiempo de ejecución.

  • Optimización de memoria: Polars utiliza Rust, un lenguaje de programación del sistema que optimiza el uso de la memoria. Permite a Polars minimizar el tiempo que dedica a la asignación y desasignación de memoria. Esto hace que el tiempo de ejecución sea más rápido.
  • Operaciones SIMD (instrucción única, datos múltiples): Polars utiliza operaciones SIMD para realizar cálculos en los datos. Esto significa que puede usar una sola instrucción para realizar la misma operación en múltiples elementos de datos simultáneamente. Esto permite que Polars realice operaciones mucho más rápido que Pandas, que utilizan un enfoque de subproceso único.
  • Evaluación perezosa: Polars utiliza la evaluación perezosa para retrasar la ejecución de operaciones hasta que las necesite. Esto reduce la cantidad de tiempo que Polars dedica a operaciones innecesarias y mejora el rendimiento.

Amplíe sus habilidades de ciencia de datos

Existen muchas bibliotecas de Python que pueden ayudarlo en la ciencia de datos. Los pandas y los polares son solo una pequeña fracción. Para mejorar el rendimiento de su programa, debe familiarizarse con más bibliotecas de ciencia de datos. Esto lo ayudará a comparar y elegir qué biblioteca se adapta mejor a su caso de uso.