Pandas combinan marcos de datos

Pandas combinan marcos de datos
Los pandas proporcionan una amplia gama de herramientas y funciones para la manipulación de datos, incluida la fusión de datos de datos. Fusionar Dataframes nos permite crear un marco de datos cambiando la fuente de datos original y generar un nuevo marco de datos sin cambiar la fuente de datos. La frase "unirse" se refiere a unir dos marcos de datos para crear un nuevo marco de datos. Por lo tanto, si está familiarizado con SQL o algunos otros datos tabulares, seguramente sabe lo que implica. Puede ser un desafío comprender adecuadamente los tipos de unión si es un principiante (exterior, interior, izquierda, derecha). Discutiremos algunos tipos de unirnos con ejemplos en este tutorial. Las funciones concat () y fusion () serán nuestro enfoque principal en este tutorial. Para proporcionarle tantas alternativas útiles como podamos, hablaremos sobre otras técnicas de fusión.

Cómo combinar los marcos de datos en pandas

Se pueden usar varios métodos para combinar dos o más marcos de datos. Discutiremos algunos de ellos en los siguientes ejemplos.

Ejemplo 1: Combinando dos marcos de datos PANDAS utilizando la función Merge ()
Comenzamos este ejemplo creando dos marcos de datos simples y nombrándolos "DF1" y "DF2". Para crear los marcos de datos, primero tenemos que importar el módulo pandas para usar sus funcionalidades. El PD.DataFrame se utiliza para crear nuestros DataFrames.

Para crear nuestros marcos de datos, pasamos los diccionarios dentro del PD.DataFrame () y asigne los DataFrames a las variables "DF1" y "DF2".

En nuestro DataFrame "DF1", tenemos dos columnas: "Persona" e "ID", que almacenan los nombres de las personas y los números de identificación de esas personas, respectivamente.

En nuestro segundo marco de datos "DF2", también hay dos columnas: "ID" y "Salario", que almacenan los números de identificación ficticia y los salarios de las personas. Usemos la función fusion () para unir estos marcos de datos. Eche un vistazo rápido a todas las opciones que este método puede aceptar antes de continuar:

Sintaxis

A excepción de los parámetros derecha e izquierda, la mayoría de estos parámetros tienen valores predeterminados. Los nombres de Dataframes que combinamos están contenidos en estos dos parámetros. La función misma devuelve una nueva función de datos, que guarde en la variable "merge_df".

Debido a que la ID de la columna en ambos marcos de datos "DF1" y "DF2" tiene la misma etiqueta, el método Merge () combina automáticamente los dos marcos de datos en función de esa clave. Especificamos los parámetros izquierd_on = "nombre de la columna izquierda" y right_on = "nombre de la columna derecha" para especificar las teclas explícitamente para nuestros marcos de datos si no hay columna con el mismo nombre de columna en ambos marcos de datos. Imprimamos nuestro nuevo DataFrame combinado con la función print ().

Como puede ver, el DF fusionado contiene solo 4 filas, mientras que el original de DF2 contiene 5 filas. Esto se debe a que se crea un nuevo marco de datos cruzando los marcos de datos derecho e izquierdo cuando el valor predeterminado del parámetro "cómo" se establece en "interno" dentro del PD.función fusionar (). Por lo tanto, el marco de datos combinado no contendría una ID que falte en una de las tablas.

Si las filas derecha e izquierda se cambiaron, esto sigue siendo cierto:

La salida es la misma.

Pero la identificación "005" todavía no es parte de los marcos de datos combinados. Aunque ninguna de las filas se cruza, podría haber situaciones en las que queremos incluir los datos de ambos marcos de datos en el marco de datos fusionado que contiene todas sus filas.

Podemos establecer el parámetro "cómo" en "correcto" dentro de la función fusion ().

La función incluye todos los elementos de DataFrame "DF2" y el marco de datos izquierdo "DF1" utilizando una unión derecha. Si faltaban las filas de DataFrame "DF1", usamos cómo = "izquierda".

Ejemplo 2: Combinando dos marcos de datos PANDAS usando la función Join ()
Unir () es una función de DataFrame en sí, en oposición a la fusión (), que es una función de la instancia de pandas. Por lo tanto, se puede utilizar en DataFrame como un método estático. Primero creemos dos marcos de datos de muestra DF1 y DF2 para que podamos combinarlos o fusionarlos utilizando la función Join ().

Para ver el contenido de ambos marcos de datos, imprimamos uno por uno.

Ahora, imprima el segundo marco de datos "DF2".

Dado que creamos nuestros marcos de datos, mire la sintaxis de la función Join ():

Sintaxis

Nuestro marcado de datos izquierdo "DF1" es el que llamamos a la función Join (). Nuestro correcto DataFrame "DF2" es el del parámetro "otro" dentro de la función Join (). El parámetro "Cómo" acepta uno de los parámetros de manejo (izquierda, derecha, exterior o interior) mientras que el parámetro "IS" de forma predeterminada se establece a la izquierda. El parámetro "en" puede aceptar uno o más argumentos (lista de claves) para especificar la clave de coincidencia.

Ahora nos unimos a DF2 con DF1.

Como se puede ver, tenemos Dataframes "DF1" y "DF2" utilizando la función Join (). La salida de la función Join () se puede modificar utilizando los diferentes parámetros y especificando los diferentes argumentos para ellos.

Ejemplo 3: Combinar dos marcos de datos PANDAS usando la función concat ()
En comparación con Merge () y Join (), la concatenación es un poco más flexible porque nos permite fusionar los marcos de datos, ya sea horizontalmente (en cuanto a columna) o verticalmente (en cuanto a la fila). El mayor inconveniente es que los datos se eliminan o se descartan si las etiquetas de la columna no coinciden o no existen en ambos marcos de datos. La sintaxis de la función es la siguiente:

Sintaxis

Parámetros

  • objs: La lista de objetos de DataFrame ([DataFrame1, DataFrame2, ...]) que se concatenará.
  • eje: Determina el orden de la concatenación, en cuanto a columna si se especifica a 1 y en cuanto a la fila si se especifica a 0.
  • unirse: Se puede especificar como "externo" para unión e "interno" para la intersección.
  • ignorar_index: Puede dar lugar a valores de índice duplicados porque "ignorar el índice" es por defecto falso, que mantiene los valores de índice los marcos de datos originales. Si es cierto, reasigna el índice en orden secuencial mientras ignora los valores originales.
  • llaves: Podemos crear un índice jerárquico usando claves. Considere como un nivel adicional del índice de izquierda exterior que ayuda a identificar los índices al duplicar. Ahora, creemos que DataFrame con las mismas etiquetas de columna y tipos de datos.

Imprimamos nuestros Dataframes "DF1" y "DF2" para ver su contenido.

Tenemos dos columnas en "DF1". Ahora, "DF2" debe tener dos columnas con los mismos nombres.

DataFrame "DF2" también consiste en columnas de "nombre" y "edad" que tienen los mismos tipos de datos que las columnas de DataFrame "DF1".

Ahora, pasamos el DF1 y DF2 en el parámetro OBJS como una lista ([DF1, DF2]) para combinarlos en cuanto a la fila. Y luego, asignamos el nuevo DataFrame fusionado a la variable "fusionada".

Como se puede ver, los datos de "DF2" se fusionan con "DF1". Sin embargo, observe los índices en el lado izquierdo de cada fila. Los números 0, 1 y 2 siguen repitiendo. Establecemos el argumento Ignore_Index en verdadero para obtener los distintos valores de índice.

El valor del eje debe cambiarse del valor predeterminado de 0 a 1 para combinar la columna "DF1" y "DF2" en cuanto a la columna.

Observará que difiere de Merge () que coincide con dos marcos de datos en una clave.

También hay otros métodos en pandas como append () y combine_first () y actualizar () para combinar dos marcos de datos.

Conclusión

En este tutorial, hemos visto que combinar los marcos de datos nos permite crear un marco de datos cambiando la fuente de datos original y generar un nuevo marco de datos sin cambiar la fuente de datos. Hemos visto la sintaxis de las funciones utilizadas para fusionar los marcos de datos. Intentamos enseñarle cómo puede combinar dos marcos de datos de Pandas utilizando las funciones unirse (), fusionar () y concat (). Ahora, es posible que pueda combinar el DataFrame () y asignar el DataFrame usted mismo utilizando estas funciones.