Tue. Sep 27th, 2022

Comprenda qué hacen las funciones Aplicar, Aplicar mapa y Agregar en Pandas

Foto de uso gratuito de Pexels Las funciones Aplicar, Aplicar mapa y Agregar se utilizan con frecuencia para transformar variables o los datos completos de la manera que el usuario desee. Personalmente, llamo a estas funciones “Funciones de transmisión” porque nos permiten transmitir cierta lógica, digamos una función personalizada, a todos los puntos de datos en la variable o datos. En este artículo, te explico en qué se diferencian estas tres funciones y algunos ejemplos para ilustrar esos puntos. Usamos el icónico conjunto de datos Titanic Disaster para esos ejemplos. Específicamente, utilicé el conjunto de datos presentado en OpenML que tiene una licencia pública. Primero importamos el paquete pandas y almacenamos los datos de entrenamiento del Titanic en una variable llamada “df”.# Fuente del conjunto de datos: OpenML; Licencia (CC): Públicaimportar pandas como p.d.
df = pd.read_csv(“../input/titanic/train.csv”) En pocas palabras, la función de aplicación en pandas es una función de nivel variable donde puede aplicar varias transformaciones para transformar una variable. Aquí, puede utilizar la función lambda o la función personalizada que realice para crear la lógica de transformación que desea aplicar. Por ejemplo, si desea multiplicar por 100 en la variable “Tarifa” por algún motivo, puede ejecutar el siguiente código: df[‘Fare’] = gl[‘Fare’].apply(lambda x: x * 100) Con esta mente, puede realizar todo tipo de transformaciones geniales siempre que pueda crear sabiamente la lambda o la función personalizada con precisión de la forma que desee. El siguiente es un ejemplo de código que extrae información de mes y día de algunas cadenas de fechas con formato xxxx/mm/dd.[‘last_review_month’] = datos[‘last_review’].apply(lambda x: fechahora.fechahora.strphora(x, “%Y-%m-%d”).mes)datos[‘last_review_day’] = datos[‘last_review’].apply(lambda x: datetime.datetime.strptime(x, “%Y-%m-%d”).day)La función Applymap es la versión de todos los datos de apply donde la lógica de transformación se aplica en cada punto de datos en el datos (por ejemplo, cada celda en la vista de datos). Digamos que queremos cambiar todos los nombres de los pasajeros a minúsculas. Para fines de demostración, vamos a crear un marco de datos separado que sea un subconjunto del original con solo la variable “Nombre” en él.df_name = df.copy()[[‘Name’]]df_nombre.head()Fuente: AuthorNow, usamos la función Applymap para lograr lo que queremos. como arriba dentro de la función lambda. ¡Puedes ver a continuación que todos los nombres ahora están en minúsculas!Fuente: AuthorDigamos que queremos reemplazar categorías (en formato de cadena) en los números enteros correspondientes. ¿Podemos usar la función Applymap para hacer esto? Aunque la función Aplicar puede ser más relevante para esto, todavía podemos usar la función Aplicar mapa para lograr los mismos resultados. Tenemos un diccionario que asigna los géneros, masculino y femenino a 0 y 1 respectivamente.mapping = {“masculino”:0 , “femenino”:1}df.applymap(mapping.get)Fuente: AuthorComo puede ver en el resultado anterior, la función Applymap, como se indicó anteriormente, aplica la lógica de transformación a cada punto de datos en cada variable. Por lo tanto, vemos que todas las demás celdas que son irrelevantes para la variable “Sexo” se reemplazaron con Ninguna. No queremos eso. Para lograr lo que queremos, podemos diseñar la función lambda para reemplazar los valores solo cuando el valor en la celda es una de las claves de mapeo, que, en este caso, son las cadenas ‘masculino’ y ‘femenino’.df. applymap(lambda x: mapeo[x] si x en mapeo.keys() otra cosa x)Fuente: AuthorAhora vemos que solo la variable “Sexo” se ha transformado mientras que las otras variables están intactas.

Agregación

Por último, pero no menos importante, la función Agregación, a diferencia de las funciones Aplicar y Aplicar mapa, devuelve un nuevo marco de datos que incluye las estadísticas de resumen agregadas que especifica el usuario. Las estadísticas de resumen agregadas se refieren a estadísticas que incluyen el valor máximo, el valor mínimo, la media, la mediana y la moda. Aquí, calculamos la edad promedio, la edad máxima y la tasa de supervivencia de los pasajeros.df.groupby(“Pclass”).agg(avg_age = (“Edad”, “media”),
max_age = (“Edad”, “max”),
Survival_rate = (“Sobrevivió”, “promedio”)) Como puede ver en el fragmento anterior, el uso de la función de agregación junto con la función Groupby se convierte en una herramienta poderosa para calcular agregaciones para diferentes grupos de puntos de datos. En este artículo, usó el conjunto de datos Titanic Disaster para ilustrar lo que hacen las tres funciones de transformación / transmisión más utilizadas y cómo se diferencian entre sí. Estén atentos a más de mis artículos sobre limpieza de datos, aprendizaje automático, aprendizaje profundo, procesamiento de lenguaje natural y más. Si esta publicación le resultó útil, considere apoyarme registrándose en medium a través del siguiente enlace:) joshnjuny.medium.com ¡Tenga acceso a tantos artículos y publicaciones útiles e interesantes no solo míos sino también de otros autores!Científico de datos. Estudiante de doctorado de primer año en Informática en UC Irvine. Ex especialista en el área de investigación en el laboratorio de economía del Sistema de registros administrativos de justicia penal (CJARS) en la Universidad de Michigan, trabajando en la generación de informes estadísticos, revisión automatizada de la calidad de los datos, construcción de canalizaciones de datos y estandarización de datos y armonización. Ex becario de ciencia de datos en Spotify. Inc. (NYC). Le encantan los deportes, hacer ejercicio, cocinar buena comida asiática, ver kdramas y hacer / tocar música y, lo que es más importante, adorar a Jesucristo, nuestro Señor. ¡Mira su sitio web!