Pandas Aplicatmap

Pandas Aplicatmap
Python es un lenguaje excelente para realizar el análisis de datos, principalmente debido al fuerte ecosistema de los programas de Python centrados en el manejo de datos. Una de esas herramientas, pandas, simplifica enormemente la importación y el análisis de datos. Cada elemento en un marco de datos se aplica con una función utilizando el método ApplyMap (), que recibe y devuelve un escalar. El beneficio principal de los pandas es la capacidad de transformar datos y aplicar análisis. Estas funciones (MAP (), AplicarMap () y Aplicar ()) se usan para cambiar los datos, pero hay algunas distinciones entre ellas y las variaciones sutiles en cómo se usan. Sin embargo, solo discutiremos el ApplyMap ().

Cómo usar la función ApplyMap en Windows

La función única permite una acción en términos de elementos en todo el marcado de datos es ApplyMap (), que solo se puede acceder en DataFrame.

Aunque algunos escenarios funcionan más rápidamente que aplicar () gracias a la optimización, comparar los dos sigue siendo una buena idea antes de emprender cualquier operación más pesada.

Sintaxis:

Marco de datos.aplicar map (func)

Parámetros

FUNC: Un valor único es devuelto por un solo valor en una función de Python.

Producción: Marco de datos transformado.

Solo el marco de datos define esta técnica. DataFrame.ApliceMap () acepta solo llamable. Para Dataframes, ApplyMap () es. ApliceMap () es más eficiente que aplicar (). Se puede operar una pieza/elemento a la vez utilizando la función ApplyMap ().

Ejemplo 1: Agregue el valor a cada elemento del marco de datos usando ApplyMap ()

Primero importemos un conjunto de datos en línea (IRIS_DATA), para que podamos aplicar nuestra función ApplyMap () para mostrar los resultados.

Debe importar los pandas y agregar el objeto "PD" al código para admitir los pandas. Los procedimientos matemáticos simples son relativamente más fáciles de realizar. De acuerdo con el eje que define, el argumento de la función cuando se aplica () se usa en un marco de datos se convierte en la fila o columna completa. ¿Qué pasaría si quisiera aplicar una función específica en cada componente de cuadro de datos en lugar de solo cada fila y columna?? Cuando esto sucede, aplicar () es útil. Considere una situación en la que se ha cometido un error, y desea corregirla agregando uno a cada elemento en sus datos, ya que descubrió que el error fue una inexactitud de medición repetible. Para comenzar, definamos una función de ayudante:

Hemos definido una función add_one y pasamos el elemento como argumento. Devolverá el elemento + 1, lo que significa que agregará uno a cada entrada de datos en el conjunto de datos. Apliquemos a cada elemento del marco de datos original, excluyendo la columna de destino, usando ApplyMap ().

Si contrasta esta salida con el original, verá que cada entrada ha recibido una agregada. Demuestra el potencial de función ApplyMap ().

Ejemplo 2: Calcular la longitud de cada elemento del marco de datos usando ApplyMap ()

Al igual que el ejemplo anterior, importaremos pandas y un conjunto de datos para comenzar a trabajar. Ahora, ¿qué utiliza la función ApplyMap ()?? ¿Está operando en marcos de datos, o aplicará una función a cada elemento de la marco de datos?? Por ejemplo, con este marco de datos, lo creamos aquí. Tenemos todos estos valores diferentes. La función ApplyMap () tomará alguna función y en cuanto a elementos ejecutarla en el valor único en todo este cuadro de datos y luego devolver un marco de datos con cualquier resultado de esa función que sea. Ahora, dado que los marcos de datos a menudo tienen datos de diferentes tipos en diferentes columnas, el ApplyMap () es un poco menos común en una función que se puede usar que Aplice () o Map ().

Como se vio anteriormente, tenemos algunos números en columnas y algunas cadenas de caracteres. Entonces, si quisiéramos pasar una función que solo funcione en los números en ApplyMap (), eso lanzará un error porque puede aplicarse a la columna de precio. Sin embargo, otras columnas son cadenas. Entonces, no funcionaría en eso. Tenemos que asegurarnos de pasar una función que funcionará tanto en números como en cadenas. A continuación, hemos definido una función que debería funcionar en números o cadenas:

El script anterior convertirá estos números en una cadena utilizando la función str (). Luego, simplemente verificará la longitud usando la función Len (). Entonces, podemos definir esta función. Si pasamos eso a ApplyMap (), obtendremos un marco de datos como una salida que tiene la longitud de todas estas entradas diferentes en nuestro marco de datos.

Ejemplo 3: Cambie/reemplace los valores de los elementos de cuadro de datos utilizando la función ApplyMap ()

La función ApplyMap () de PANDAS utiliza una función definida por el usuario para actualizar el contenido elemento por elemento de datos después de recibir una trama de datos PANDAS como entrada. Con un diccionario, podemos crear una función Lambda que le dará un nuevo valor para cada elemento en el marco de datos como salida para actualizar los valores de una trama de datos. Aplicemos la misma ilustración a las funciones reemplazar () y map () de la biblioteca pandas para reemplazar los valores en un marco de datos con los de un diccionario.

Al usar la función sample () en el módulo aleatorio, produciremos algunos datos de muestra.

Ahora, se creará un marco de datos con un tipo de datos de cadena.

Queremos reemplazar algunos de los valores del marco de datos por otros nuevos. Aquí, construiremos un diccionario con los nuevos valores que sirven como valores de diccionario y los valores antiguos que sirven como claves.

Ahora podemos actualizar los valores element por elemento utilizando la función pandas applymap (). La función Lambda se pasará como entrada en la función ApplyMap (). La entrada de la función lambda es un elemento, y su salida es el resultado de usar un diccionario para consultar la clave.

Y como resultado, recibimos un marco de datos con valores actualizados.

Ejemplo 4: Alterar valores/elementos de un marco de datos utilizando la función ApplyMap ()

Primero haremos un marco de datos con filas y columnas específicas y especificaremos los nombres de sus índices.

Multiplicemos cada elemento del marco de datos por 10.

Cada componente de DF DataFrame se multiplica y la salida se guarda en el marcador de datos DF Alt DF. La función ApplyMap () recibe una función lambda como parámetro y devuelve un resultado multiplicando cada elemento o valor por 10. Como resultado, los elementos de DataFrame DF están escalados por 10. Cuando se necesita una función sin nombre para una breve duración, se utilizan funciones de lambda. Por lo general, lo utilizamos como un argumento para una función de orden superior en Python. Junto con métodos incorporados como AplicleMap () y Filter (), se emplean las funciones de Lambda.

Podemos aplicar varias operaciones a los componentes de DataFrame además de los matemáticos.

Como puede ver en la imagen anterior, hemos agregado el .99 a cada valor dentro del marco de datos de DF. También podemos usar valores de cadena para agregar los datos en lugar de los datos numéricos.

Conclusión

En este artículo, enseñamos cómo puede usar la función ApplyMap () en Python usando la biblioteca de Pandas. Hemos visto que el método ApplyMap () funciona en todo el marco de datos sobre un elemento por elemento. Esto nos enseñó cómo usar el Python Pandas DataFrame.Método AplicarMap (). Trabajamos a través de ejemplos utilizando este método en DataFrame para comprender cómo agregar valores, calcular la longitud y reemplazar y alterar los valores de cada elemento de nuestro marco de datos utilizando la función ApplyMap ().