Python - Data Wrangling
Le traitement des données implique le traitement des données dans divers formats tels que - fusion, regroupement, concaténation, etc. dans le but de les analyser ou de les préparer à être utilisées avec un autre ensemble de données. Python a des fonctionnalités intégrées pour appliquer ces méthodes de lutte à divers ensembles de données pour atteindre l'objectif analytique. Dans ce chapitre, nous examinerons quelques exemples décrivant ces méthodes.
Fusion de données
La bibliothèque Pandas en python fournit une seule fonction, merge, comme point d'entrée pour toutes les opérations de jointure de base de données standard entre les objets DataFrame -
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=True)
Créons maintenant deux DataFrames différents et effectuons les opérations de fusion dessus.
# 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
Ses output est comme suit -
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
Regroupement des données
Le regroupement des ensembles de données est un besoin fréquent dans l'analyse des données où nous avons besoin du résultat en termes de divers groupes présents dans l'ensemble de données. Panadas a des méthodes intégrées qui peuvent regrouper les données dans divers groupes.
Dans l'exemple ci-dessous, nous regroupons les données par année, puis obtenons le résultat pour une année spécifique.
# 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)
Ses output est comme suit -
Points Rank Team Year
0 876 1 Riders 2014
2 863 2 Devils 2014
4 741 3 Kings 2014
9 701 4 Royals 2014
Concaténation des données
Pandas fournit diverses installations pour se combiner facilement Series, DataFrame, et Panelobjets. Dans l'exemple ci-dessous, leconcatLa fonction effectue des opérations de concaténation le long d'un axe. Créons différents objets et faisons la concaténation.
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])
Ses output est comme suit -
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