Apprenez à fusionner des dataframes en Python

Apprenez à fusionner des dataframes en Python

Si vous utilisez Python, même pour les tâches les plus simples, vous êtes probablement conscient de l'importance de ses bibliothèques tierces. La bibliothèque Pandas, avec son excellent support pour DataFrames, est l'une de ces bibliothèques.





Vous pouvez importer plusieurs types de fichiers dans Python DataFrames et créer différentes versions pour stocker différents ensembles de données. Une fois que vous avez importé vos données à l'aide de DataFrames, vous pouvez les fusionner pour effectuer une analyse détaillée.





S'attaquer aux bases

Avant de commencer à fusionner, vous devez disposer de DataFrames à fusionner. À des fins de développement, vous pouvez créer des données factices à expérimenter.





Créer les DataFrames en Python

Dans un premier temps, importez la bibliothèque Pandas dans votre fichier Python. Pandas est une bibliothèque tierce qui gère les DataFrames en Python. Vous pouvez utiliser le importer déclaration pour utiliser la bibliothèque, comme suit :

import pandas as pd

Vous pouvez attribuer un alias au nom de la bibliothèque pour raccourcir vos références de code.



Vous devez créer des dictionnaires, que vous pouvez convertir en DataFrames. Pour de meilleurs résultats, créez deux variables de dictionnaire— dict1 et dict2— pour stocker des informations spécifiques :

dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

N'oubliez pas que vous devez avoir un élément commun dans les deux valeurs de dictionnaire, pour agir comme clé primaire pour combiner vos DataFrames plus tard.





Convertissez vos dictionnaires en DataFrames

Pour convertir les valeurs de votre dictionnaire en DataFrames, vous pouvez utiliser la méthode suivante :

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

Certains IDE vous permettent de vérifier les valeurs dans le DataFrame en référençant la fonction DataFrame et en appuyant sur Exécuter/Exécuter . Il y a beaucoup de IDE compatibles Python , afin que vous puissiez choisir celui qui est le plus facile à apprendre pour vous.





  Extrait de code Jupyter Notebook

Une fois que vous êtes satisfait du contenu de vos DataFrames, vous pouvez passer à l'étape de fusion.

Combinaison de cadres avec la fonction de fusion

La fonction de fusion est la première fonction Python que vous pouvez utiliser pour combiner deux DataFrames. Cette fonction prend les arguments par défaut suivants :

pd.merge(DataFrame1, DataFrame2, how= type of merge)

Où:

  • pd est un alias pour la bibliothèque Pandas.
  • fusionner est la fonction qui fusionne les DataFrames.
  • DataFrame1 et DataFrame2 sont les deux DataFrames à fusionner.
  • comment définit le type de fusion.

Certains arguments optionnels supplémentaires sont disponibles, que vous pouvez utiliser lorsque vous avez une structure de données complexe.

Vous pouvez utiliser différentes valeurs pour le paramètre how afin de définir le type de fusion à effectuer. Ces types de fusion vous seront familiers si vous avez utilisé SQL pour joindre des tables de base de données .

Fusion à gauche

Le type de fusion de gauche conserve les valeurs du premier DataFrame intactes et extrait les valeurs correspondantes du second DataFrame.

  Extrait de code Jupyter Notebook

Fusion à droite

Le bon type de fusion conserve intactes les valeurs du deuxième DataFrame et extrait les valeurs correspondantes du premier DataFrame.

  Extrait de code Jupyter Notebook

Fusion interne

Le type de fusion interne conserve les valeurs correspondantes des deux DataFrames et supprime les valeurs non correspondantes.

  Extrait de code Jupyter Notebook

Fusion externe

Le type de fusion externe conserve toutes les valeurs correspondantes et non correspondantes et consolide les DataFrames ensemble.

  Extrait de code Jupyter Notebook

Comment utiliser la fonction Concat

La concat La fonction est une option flexible par rapport à certaines des autres fonctions de fusion de Python. Avec la fonction concat, vous pouvez combiner des DataFrames verticalement et horizontalement.

Cependant, l'inconvénient de l'utilisation de cette fonction est qu'elle supprime toutes les valeurs non correspondantes par défaut. Comme certaines autres fonctions apparentées, cette fonction a quelques arguments, dont seuls quelques-uns sont essentiels pour une concaténation réussie.

concat(dataframes, axis=0, join='outer'/inner)

Où:

  • concat est la fonction qui joint DataFrames.
  • trames de données est une séquence de DataFrames à concaténer.
  • axe représente le sens de la concaténation, 0 étant horizontal, 1 étant vertical.
  • rejoindre spécifie une jointure externe ou interne.

En utilisant les deux DataFrames ci-dessus, vous pouvez essayer la fonction concat comme suit :

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

L'absence des arguments d'axe et de jointure dans le code ci-dessus combine les deux ensembles de données. La sortie résultante contient toutes les entrées, quel que soit l'état de la correspondance.

films gratuits en ligne sans téléchargement ni inscription ni paiement

De même, vous pouvez utiliser des arguments supplémentaires pour contrôler la direction et la sortie de la fonction concat.

Pour contrôler la sortie avec toutes les entrées correspondantes :

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

Le résultat contient toutes les valeurs correspondantes entre les deux DataFrames uniquement.

  Extrait de code Jupyter Notebook

Fusionner des DataFrames avec Python

Les DataFrames font partie intégrante de Python, compte tenu de leur flexibilité et de leurs fonctionnalités. Compte tenu de leurs utilisations multiples, vous pouvez les utiliser largement pour effectuer une variété de tâches avec la plus grande facilité.

Si vous en apprenez encore sur Python DataFrames, essayez d'importer des fichiers Excel, puis combinez-les avec différentes approches.