Python >> Tutoriel Python >  >> Python

Comment combiner des DataFrames en Python ?

Bonjour lecteurs ! Dans ce tutoriel, nous allons apprendre les différentes manières de combiner des DataFrames en Python.


Que sont les DataFrames en Python ?

En Python, les DataFrames sont les objets Python bidimensionnels structurés qui sont utilisés pour stocker les données au format tabulaire, c'est-à-dire en utilisant des lignes et des colonnes. Pour travailler avec des DataFrames, nous avons besoin du pandas Module Python. Nous pouvons créer un Pandas DataFrame à partir des différents objets Python tels que liste, dictionnaire, NumPy ndarray, un autre DataFrame, etc. en utilisant le pandas.DataFrame() fonction. Voici la commande pour installer le pandas Module Python :

C:\Users\Guest> pip install pandas

Créons deux pandas DataFrames que nous utiliserons dans nos prochaines discussions. Code Python pour créer des pandas DataFrames.

# Import pandas Python module
import pandas as pd 

# Create two datasets using dictionary of list
data1 = {"name": ['Sanjay Kumar', 'Shreya Mohan', 'Abhishek Kumar', 'Sameer Singh', 'Sumit Kumar'],
        "roll_no": [101, 102, 103, 104, 105]}

data2 = {"state": ['Bihar', 'Jharkhand', 'Maharashtra', 'Haryana', 'Punjab'],
        "City": ['Nalanda', 'Deoghar', 'Pune', 'Kunjpura', 'Jalandhar']}

# Create DataFrame-1
df1 = pd.DataFrame(data1)
print("This is DataFrame-1:")
print(df1)

# Create DataFrame-2
df2 = pd.DataFrame(data2)
print("This is DataFrame-2:")
print(df2)

Sortie :

Méthodes pour combiner des DataFrames en Python

Le processus de combinaison de deux DataFrames ou plus le long de l'un ou l'autre des axes est l'une des principales techniques de prétraitement des données utilisées dans l'analyse des données . Un Data Scientist ou un Data Analyst doit combiner les données présentes sous la forme de pandas DataFrames en utilisant fréquemment différentes méthodes. Cela devient une étape très cruciale à effectuer lors de l'analyse des données lorsque les différentes données sont collectées à partir de plusieurs sources et sont dans des formats différents. Comme nous avons créé nos deux pandas DataFrames, commençons à discuter des différentes méthodes pour combiner les DataFrames en Python un par un.

Méthode 1 :Utiliser la fonction concat()

En Python, le concat() La fonction est définie dans le module pandas et est utilisée pour combiner deux ou plusieurs DataFrames pandas le long de l'axe spécifié. Axe =0 signifie axe vertical et axe =1 signifie axe horizontal .

En les concaténant, la fonction renvoie un nouvel objet DataFrame. Il peut être utilisé pour combiner des lignes ou des colonnes d'un DataFrame à un autre DataFrame. Écrivons le code Python pour implémenter le concat() fonction sur pandas DataFrames.

# Combine the DataFrame-1 & DataFrame-2
# along horizontal axis using concat() function
df = pd.concat([df1, df2], axis = 1)
print("The resultant DataFrame:")
print(df)

Sortie :

Méthode 2 :Utiliser la fonction append()

En Python, le append() La fonction est également utilisée pour combiner deux ou plusieurs pandas DataFrames en les ajoutant le long de l'un ou l'autre des axes (axe horizontal ou vertical). Implémentons le append() fonction sur pandas DataFrames via le code Python.

# Create a new DataFrame-3
df3 = pd.DataFrame({"name": ['Ravi', 'Shantanu', 'Shiv'],
                    "roll_no": [106, 107, 108],
                    "state": ['Bihar', 'UP', 'Bihar'],
                    "City": ['Muzaffarpur', 'Agra', 'Bakhtiarpur']},
                    index = [5, 6, 7])
print("This is DataFrame-3:")
print(df3)

# Combine this newly created DataFrame-3
# to the existing DataFrame along vertical axis
# using append() function
df = df.append(df3)
print("The resultant DataFrame:")
print(df)

Sortie :

Méthode 3 :Utiliser la fonction merge()

En Python, le module pandas fournit le merge() pour combiner des Dataframes en Python en les fusionnant à l'aide des jointures de style base de données. Par défaut, il utilise une "jointure interne ” opération pour fusionner les pandas Dataframes.

Il peut être utilisé pour combiner des Dataframes en fonction du nom ou de l'index de la colonne, mais le nom de colonne ou le niveau d'index passé doit être présent dans les deux DataFrame. Comprenons le code Python pour implémenter le merge() fonction sur pandas DataFrames.

# Create a new DataFrame-4
df4 = pd.DataFrame({"roll_no": [101, 102, 103, 104, 105, 106, 107, 108],
                    "cgpa": [8.15, 8.18, 9.41, 8.56, 7.67, 9.36, 9.52, 7.35]})
print("This is DataFrame-4:")
print(df4)

# Combine this newly created DataFrame-3
# to the existing DataFrame along horizontal axis
# using merge() function
df = pd.merge(df, df4, on = "roll_no")
print("The resultant DataFrame:")
print(df)

Sortie :

Méthode 4 :Utiliser la fonction join()

En Python, le module pandas fournit le join() fonction qui peut combiner efficacement deux DataFrames pandas ou plus en les joignant sur une colonne ou un niveau d'index spécifié. Par défaut, il rejoint les objets pandas Dataframe par le niveau d'index. Voyons le code Python pour implémenter le join() fonction sur pandas DataFrames.

# Create a new DataFrame-5
df5 = pd.DataFrame({"branch": ['ECE', 'ECE', 'CSE', 'EE', 'ICE', 'ME', 'TT', 'CHE'],
                    "year": [3, 3, 2, 1, 1, 4, 2, 3]})
print("This is DataFrame-5:")
print(df5)

# Combine this newly created DataFrame-3
# to the existing DataFrame along horizontal axis
# using join() function
df = df.join(df5)
print("The resultant DataFrame:")
print(df)

Sortie :

Conclusion

Dans ce didacticiel, nous avons appris les choses suivantes :

  • Qu'est-ce qu'un objet DataFrame en Python
  • Importance de combiner les pandas DataFrames
  • Différentes méthodes pour combiner des pandas Dataframes