Requisitos previos : Pandas
En muchas situaciones de la vida real, los datos que queremos usar vienen en varios archivos. A menudo tenemos la necesidad de combinar estos archivos en un solo DataFrame para analizar los datos. Pandas proporciona tales facilidades para combinar fácilmente Series o DataFrame con varios tipos de lógica de conjuntos para los índices y la funcionalidad de álgebra relacional en el caso de operaciones de tipo unión/fusión. Además, los pandas también brindan utilidades para comparar dos Series o DataFrame y resumir sus diferencias.
Concatenación de marcos de datos
La función concat() en pandas se usa para agregar columnas o filas de un DataFrame a otro. La función concat() hace todo el trabajo pesado de realizar operaciones de concatenación a lo largo de un eje mientras realiza una lógica de conjunto opcional (unión o intersección) de los índices (si los hay) en los otros ejes.
Python3
import pandas as pd # First DataFrame df1 = pd.DataFrame({'id': ['A01', 'A02', 'A03', 'A04'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI']}) # Second DataFrame df2 = pd.DataFrame({'id': ['B05', 'B06', 'B07', 'B08'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL']}) frames = [df1, df2] result = pd.concat(frames) display(result)
Producción:
Unión de tramas de datos
Cuando concatenamos nuestros DataFrames, simplemente los agregamos entre sí, es decir, los apilamos verticalmente o uno al lado del otro. Otra forma de combinar DataFrames es usar columnas en cada conjunto de datos que contengan valores comunes (una identificación única común). La combinación de DataFrames utilizando un campo común se denomina «unión». Las columnas que contienen los valores comunes se denominan «clave(s) de unión». Unir DataFrames de esta manera suele ser útil cuando un DataFrame es una «tabla de búsqueda» que contiene datos adicionales que queremos incluir en el otro.
Nota: Este proceso de unir tablas es similar a lo que hacemos con las tablas en una base de datos SQL.
Al unir varios DataFrames, tiene la opción de manejar los otros ejes (aparte del que se está concatenando). Esto se puede hacer de las siguientes dos maneras:
- Toma la unión de todos ellos, join=’outer’. Esta es la opción predeterminada ya que da como resultado una pérdida de información cero.
- Tome la intersección, join=’inner’.
Ejemplo:
Python3
import pandas as pd df1 = pd.DataFrame({'id': ['A01', 'A02', 'A03', 'A04'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI']}) df3 = pd.DataFrame({'City': ['MUMBAI', 'PUNE', 'MUMBAI', 'DELHI'], 'Age': ['12', '13', '14', '12']}) # the default behaviour is join='outer' # inner join result = pd.concat([df1, df3], axis=1, join='inner') display(result)
Producción:
Concatenar usando append
Un atajo útil para concat() es el método de instancia append() en Series y DataFrame. Estos métodos en realidad son anteriores a concat.
Ejemplo:
Python3
import pandas as pd # First DataFrame df1 = pd.DataFrame({'id': ['A01', 'A02', 'A03', 'A04'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI']}) # Second DataFrame df2 = pd.DataFrame({'id': ['B05', 'B06', 'B07', 'B08'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL']}) # append method result = df1.append(df2) display(result)
Producción:
Nota: append() puede tomar varios objetos para concatenar.
Ejemplo:
Python3
import pandas as pd # First DataFrame df1 = pd.DataFrame({'id': ['A01', 'A02', 'A03', 'A04'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI']}) # Second DataFrame df2 = pd.DataFrame({'id': ['B05', 'B06', 'B07', 'B08'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL']}) df3 = pd.DataFrame({'City': ['MUMBAI', 'PUNE', 'MUMBAI', 'DELHI'], 'Age': ['12', '13', '14', '12']}) # appending multiple DataFrame result = df1.append([df2, df3]) display(result)
Producción:
Publicación traducida automáticamente
Artículo escrito por tusharbhadak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA