El artículo de fusión de datos de Pandas comprende pd.merge ()

Producido por el analista de datos CDA

En la operación de fusión de datos, además de la función pd.concat (), otra función de uso común es pd.merge (). Estas dos funciones a menudo se comparan. De hecho, siempre que comprenda el papel de los parámetros importantes en la función Después de comprender el uso de cada función, es natural saber qué función usar en qué caso, y qué parámetro en la función debe establecerse. Ok, ¡pasemos al tema y conozcamos la función pd.merge ()!

Introducción a la función pd.merge ()

En la documentación oficial de la función, está escrito que pd.merge () se usa para fusionar un DataFrame o una serie con nombre con una conexión de estilo de base de datos. Ahora echemos un vistazo a la verdadera cara de Lushan con esta función:

pd.merge (left, right, how = 'inner', on = None, left_on = None, right_on = None, left_index = False, right_index = False, sort = False, sufijos = ('_ x', '_y'), copiar = verdadero, indicador = falso, validar = ninguno,)

Los anteriores son todos los parámetros de la función pd.merge (). A continuación explicaremos los parámetros comunes a través de ejemplos.

Parámetros izquierda y derecha

A diferencia de pd.concat (), pd.merge () solo se puede usar para empalmar dos tablas, y se puede ver en el nombre del parámetro que la dirección de conexión es el empalme izquierdo y derecho, una tabla izquierda y una tabla derecha, y el empalme no está especificado en los parámetros Los parámetros del eje, por lo que pd.merge () no se puede usar para empalmar arriba y abajo de la tabla.

Si las dos tablas que necesitan empalmarse tienen la misma información de columna, al empalmar, incluso si no especifica qué campo se usa como la función de clave principal, las dos tablas se empalmarán de manera predeterminada utilizando la columna con la misma información que la clave primaria, como en el siguiente ejemplo:

Supongamos que esta es una tabla estadística de información de empleados del departamento humano

Supongamos que esta es una tabla estadística del departamento de ventas sobre el desempeño de ventas de los empleados

Se puede ver que los empleados en estas dos tablas son el mismo grupo de personas, y solo hay columnas repetidas en la columna "nombre del empleado" en ambas tablas. Generalmente, en este caso, pd.merge () se usa para empalmar sin especificar la clave primaria. Se pasa al parámetro a la izquierda y el nombre de otra tabla se pasa al parámetro a la derecha:

Parámetro en

Este parámetro determina qué campo es la clave primaria. Como se mencionó anteriormente, si la misma información de columna no especifica la clave primaria, podemos especificar la clave primaria aquí. Vea si el resultado es consistente con el resultado de no especificar la clave primaria anterior:

De hecho, es completamente consistente.

Entonces, además de esta situación, ¿qué otra función tiene el parámetro? Si hay más de dos columnas con la misma información en las dos tablas, puede especificar qué columna es la clave principal. Si no se especifica, las columnas con la misma información se utilizarán como base para empalmar:

Estas dos tablas pueden ver que los dos nombres de columna son iguales, el número de trabajo y el nombre del empleado, y si lo mira, también puede encontrar que el registro con el índice es 5 Aunque el nombre del empleado es el mismo, pero el número de trabajo es diferente, puede haber una compañía Para los empleados con el mismo nombre, unimos estas dos tablas.

Sin especificar la clave primaria:

Dado que pd.merge () está predeterminado a la conexión interna, solo se empalman las partes con la misma información de clave primaria, y la ID es exactamente igual al nombre del empleado.

Especifique la costura de la clave primaria:

Especifique la clave principal como el nombre del empleado, de modo que siempre que el nombre del empleado coincida, la información se retendrá. Tenga en cuenta que el método de conexión utilizado aquí es la conexión interna.

Parámetros leftindex y rightindex

Además de especificar el campo como la clave principal, también puede considerar el uso del índice como la clave principal para la costura. Leftindex y rightindex tienen el valor predeterminado False, lo que significa que el índice no se utiliza como clave principal y puede ajustarse a True. Las siguientes dos tablas tienen el mismo índice:

Después de coser por índice:

Debido a que los índices de las dos tablas son exactamente iguales, el efecto de empalme es muy bueno. Si el índice no se puede alinear, bajo la conexión interna predeterminada, solo se empalmarán los registros con la alineación del índice.

Parámetro cómo

El parámetro how controla el método de empalme. De forma predeterminada, la conexión interna (interna), entonces, ¿cómo afecta el método de empalme diferente al resultado? La conexión interna es solo para unir la información de las dos tablas con la misma clave primaria. Echa un vistazo a la conexión externa.

La unión externa es para mantener toda la información de las dos tablas. Al empalmar, la parte que la etiqueta no se puede alinear se llena con NAN:

La unión izquierda es para retener toda la información de la tabla izquierda. La información de la clave principal en la tabla derecha es coherente con la tabla izquierda. Las partes de la etiqueta que no se pueden alinear se rellenan con NAN:

La conexión correcta es retener toda la información de la tabla derecha. La información de la clave principal en la tabla izquierda y la tabla izquierda se empalman. Las partes donde las etiquetas no se pueden alinear se rellenan con NAN:

Parámetros lefton y righton

A veces habrá una situación así. No hay un nombre de columna exacto en las dos tablas, pero hay una columna con información consistente. Por ejemplo, en el siguiente caso, hay una columna de "nombre de empleado", pero el nombre es diferente:

En este momento, debe especificar qué campo se utiliza como clave principal en cada tabla. Se utilizan los dos parámetros lefton y righton:

Sufijos de parámetros

A veces hay varios nombres de columna idénticos en las dos tablas. Excepto por la columna que es la clave principal, cuando otras columnas con el mismo nombre se empalman en la tabla, habrá un sufijo que indica de qué tabla proviene esta columna, utilizada para distinguir el nombre En la misma columna, el sufijo predeterminado es (x e y). Por ejemplo, el resultado de este empalme, puede ver el nombre del empleado como la clave principal. Hay dos columnas de "ID de trabajo" en la tabla empalmada, y habrá un sufijo detrás:

Este sufijo se puede cambiar. El parámetro que lo controla son los sufijos. Cambié el sufijo a (izquierda y derecha). En el trabajo real, puede cambiarlo según sus necesidades.

Indicador de parámetro

En pd.concat (), puede establecer parámetros para mostrar qué información de la tabla empalmada proviene de qué tabla. También puede hacerlo en pd.merge (), que se establece mediante el parámetro indicador. El valor predeterminado es False. Para mostrar la fuente de datos, establezca el parámetro en True.

De esta manera, habrá una nueva columna al final de la tabla, que muestra de qué registro proviene este registro, y si ambas tablas tienen datos, ambas se marcarán.

Lo anterior es la configuración de parámetros comúnmente utilizada de la función pd.merge (), que puede resolver la mayoría de los problemas que necesitan usar esta función para la fusión de datos.

En la epidemia actual, el ritmo acelerado del pasado finalmente se ha ralentizado, y también es hora de pensar en su plan de carrera y plan de vida. ¡Prepárese con anticipación, planifique con anticipación y almacene energía para el futuro listo para ir!

2740 artículos originales publicados · Me gusta 276 · Visitas 560,000+

Supongo que te gusta

Origin blog.csdn.net/yoggieCDA/article/details/105629701
Recomendado
Clasificación