pandas unir() se define como el proceso de reunir los dos conjuntos de datos en uno y alinear las filas en función de los atributos o columnas comunes. Es un punto de entrada para todas las operaciones estándar de unión de bases de datos entre objetos DataFrame:
Sintaxis:
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
Parámetros:
- 'one_to_one' o '1:1': comprueba si las claves de combinación son únicas en los conjuntos de datos izquierdo y derecho.
- 'one_to_many' o '1:m': comprueba si las claves de combinación son únicas solo en el conjunto de datos izquierdo.
- 'many_to_one' o 'm:1': comprueba si las claves de combinación son únicas solo en el conjunto de datos correcto.
- 'many_to_many' o 'm:m': está permitido, pero no genera comprobaciones.
Es un objeto que se fusiona con el DataFrame.
Tipo de fusión a realizar.
Es una columna o nombres de nivel de índice a los que unirse. Debe encontrarse tanto en el DataFrames izquierdo como en el derecho. Si activado es Ninguno y no se fusiona en índices, el valor predeterminado es la intersección de las columnas en ambos DataFrames.
dejado en: etiqueta o lista, o tipo matriz
Es una columna o nombres de nivel de índice del DataFrame izquierdo para usar como clave. Puede ser una matriz con una longitud igual a la longitud del DataFrame.
Es una columna o nombres de nivel de índice del DataFrame derecho para usar como claves. Puede ser una matriz con una longitud igual a la longitud del DataFrame.
Utiliza el índice del DataFrame izquierdo como clave(s) de unión, si es verdadero. En el caso de MultiIndex (jerárquico), muchas claves en el otro DataFrame (ya sea el índice o algunas columnas) deben coincidir con el número de niveles.
Utiliza el índice del DataFrame derecho como clave de unión. Tiene el mismo uso que left_index.
Si es Verdadero, ordena las claves de combinación en orden lexicográfico en el marco de datos resultante. De lo contrario, el orden de las claves de combinación depende del tipo de combinación (palabra clave how).
Se aplican sufijos para superponer los nombres de las columnas en el DataFrame izquierdo y derecho, respectivamente. Las columnas utilizan valores (Falso, Falso) para generar una excepción al superponerse.
Si es Verdadero, devuelve una copia del DataFrame.
De lo contrario, puede evitar la copia.
Si es verdadero, agrega una columna para generar DataFrame ' _unir ' con información sobre el origen de cada fila. Si es una cadena, se agregará una columna con información sobre el origen de cada fila al DataFrame de salida y la columna se denominará valor de una cadena. La columna de información se define como de tipo categórico y toma el valor de:
Si se especifica, verifica el tipo de combinación que se proporciona a continuación:
Ejemplo 1: fusionar dos DataFrames en una clave
# import the pandas library import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['John', 'Parker', 'Smith', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6']}) right = pd.DataFrame({ 'id':[1,2,3,4], 'Name': ['William', 'Albert', 'Tony', 'Allen'], 'subject_id':['sub2','sub4','sub3','sub6']}) print (left) print (right)
Producción
id Name subject_id 0 1 John sub1 1 2 Parker sub2 2 3 Smith sub4 3 4 Parker sub6 id Name subject_id 0 1 William sub2 1 2 Albert sub4 2 3 Tony sub3 3 4 Allen sub6
Ejemplo 2: fusionar dos DataFrames en varias claves:
import pandas as pd left = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5']}) right = pd.DataFrame({ 'id':[1,2,3,4,5], 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5']}) print pd.merge(left,right,on='id')
Producción
id Name_x subject_id_x Name_y subject_id_y 0 1 John sub1 William sub2 1 2 Parker sub2 Albert sub4 2 3 Smith sub4 Tony sub3 3 4 Parker sub6 Allen sub6