El procesamiento de datos implica procesar datos en varios formatos, como fusión, agrupación, concatenación, etc., con el fin de analizarlos o prepararlos para su uso con otro conjunto de datos. Python tiene funciones integradas para aplicar estas técnicas para tratar con diferentes conjuntos de datos para lograr un objetivo analÃtico. En este capÃtulo, veremos varios ejemplos que describen estos métodos.
La biblioteca de Pandas Python proporciona una única función, drenar, como punto de entrada para todas las operaciones de conexión de base de datos estándar entre objetos DataFrame –
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
Ahora creemos dos DataFrames diferentes y realicemos operaciones de combinación en ellos.
# import the pandas library 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 left print right
Su Salida como sigue –
Name id subject_id 0 Alex 1 sub1 1 Amy 2 sub2 2 Allen 3 sub4 3 Alice 4 sub6 4 Ayoung 5 sub5 Name id subject_id 0 Billy 1 sub2 1 Brian 2 sub4 2 Bran 3 sub3 3 Bryce 4 sub6 4 Betty 5 sub5
La agrupación de conjuntos de datos es una necesidad frecuente para el análisis de datos cuando necesitamos un resultado en términos de los diferentes grupos presentes en el conjunto de datos. Panadas tiene métodos integrados que pueden combinar datos en varios grupos.
En el siguiente ejemplo, agrupamos los datos por año y luego obtenemos el resultado para un año especÃfico.
# import the pandas library import pandas as pd ipl_data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils', 'Kings', 'kings', 'Kings', 'Kings', 'Riders', 'Royals', 'Royals', 'Riders'], 'Rank': [1, 2, 2, 3, 3,4,1,1,2, 4,1,2], 'Year': [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017], 'Points':[876,789,863,673,741,812,756,788,694,701,804,690]} df = pd.DataFrame(ipl_data) grouped = df.groupby('Year') print grouped.get_group(2014)
Su Salida como sigue –
Points Rank Team Year 0 876 1 Riders 2014 2 863 2 Devils 2014 4 741 3 Kings 2014 9 701 4 Royals 2014
Pandas ofrece varias posibilidades para combinar fácilmente Serie, DataFrame, y Panel objetos. En el siguiente ejemplo concat la función realiza operaciones de concatenación a lo largo del eje. Creemos diferentes objetos y hagamos la concatenación.
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':[98,90,87,69,78]}, index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':[89,80,79,97,88]}, index=[1,2,3,4,5]) print pd.concat([one,two])
Su Salida como sigue –
Marks_scored Name subject_id 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5
🚫