Comment diviser un DataFrame Pandas en plusieurs DataFrames
Vous pouvez utiliser la syntaxe de base suivante pour diviser un DataFrame pandas en plusieurs DataFrames en fonction du numéro de ligne :
#split DataFrame into two DataFrames at row 6 df1 = df.iloc[:6] df2 = df.iloc[6:]
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : diviser le DataFrame Pandas en deux DataFrames
Le code suivant montre comment diviser un DataFrame pandas en deux DataFrames :
import pandas as pd #create DataFrame df = pd.DataFrame({'x': [1, 1, 1, 3, 3, 4, 5, 5, 5, 6, 7, 9], 'y': [5, 7, 7, 9, 12, 9, 9, 4, 3, 3, 1, 10]}) #view DataFrame df x y 0 1 5 1 1 7 2 1 7 3 3 9 4 3 12 5 4 9 6 5 9 7 5 4 8 5 3 9 6 3 10 7 1 11 9 10 #split original DataFrame into two DataFrames df1 = df.iloc[:6] df2 = df.iloc[6:] #view resulting DataFrames print(df1) x y 0 1 5 1 1 7 2 1 7 3 3 9 4 3 12 5 4 9 print(df2) x y 6 5 9 7 5 4 8 5 3 9 6 3 10 7 1 11 9 10
Notez que df1 contient les six premières lignes du DataFrame d’origine et que df2 contient les six dernières lignes du DataFrame d’origine.
Exemple 2 : diviser le DataFrame Pandas en plusieurs DataFrames
Le code suivant montre comment diviser un pandas
import pandas as pd #create DataFrame df = pd.DataFrame({'x': [1, 1, 1, 3, 3, 4, 5, 5, 5, 6, 7, 9], 'y': [5, 7, 7, 9, 12, 9, 9, 4, 3, 3, 1, 10]}) #split into three DataFrames df1 = df.iloc[:3] df2 = df.iloc[3:6] df3 = df.iloc[6:] #view resulting DataFrames print(df1) x y 0 1 5 1 1 7 2 1 7 print(df2) x y 3 3 9 4 3 12 5 4 9 print(df3) x y 6 5 9 7 5 4 8 5 3 9 6 3 10 7 1 11 9 10
Dans cet exemple, nous avons choisi de diviser un DataFrame en trois DataFrames, mais en utilisant cette syntaxe, nous pouvons diviser un DataFrame pandas en n’importe quel nombre de DataFrames que nous souhaitons.
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :
Comment ajouter deux DataFrames Pandas
Comment supprimer des colonnes dans Pandas DataFrame
Comment sélectionner des lignes uniques dans un DataFrame Pandas