Python – lucha de datos

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.

Combinando datos

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

Agrupación de datos

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

Combinando datos

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

🚫