Pandas : Comment lire un fichier Excel avec des cellules fusionnées



Lorsque vous lisez un fichier Excel avec des cellules fusionnées dans un DataFrame pandas, les cellules fusionnées seront automatiquement remplies de valeurs NaN.

Le moyen le plus simple de renseigner ces valeurs NaN après avoir importé le fichier est d’utiliser la fonction pandas fillna() comme suit :

df = df.fillna(method='ffill', axis=0)

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : lire un fichier Excel avec des cellules fusionnées dans Pandas

Supposons que nous ayons le fichier Excel suivant appelé merged_data.xlsx qui contient des informations sur divers joueurs de basket-ball :

Notez que les valeurs de la colonne Équipe sont fusionnées.

Les joueurs A à D appartiennent aux Mavericks tandis que les joueurs E à H appartiennent aux Rockets.

Supposons que nous utilisions la fonction read_excel() pour lire ce fichier Excel dans un DataFrame pandas :

import pandas as pd

#import Excel fie
df = pd.read_excel('merged_data.xlsx')

#view DataFrame
print(df)

        Team Player  Points  Assists
0  Mavericks      A      22        4
1        NaN      B      29        4
2        NaN      C      45        3
3        NaN      D      30        7
4    Rockets      E      29        8
5        NaN      F      16        6
6        NaN      G      25        9
7        NaN      H      20       12

Par défaut, pandas remplit les cellules fusionnées avec des valeurs NaN.

Pour remplir chacune de ces valeurs NaN avec les noms des équipes, nous pouvons utiliser la fonction fillna() comme suit :

#fill in NaN values with team names
df = df.fillna(method='ffill', axis=0)

#view updated DataFrame
print(df)

        Team Player  Points  Assists
0  Mavericks      A      22        4
1  Mavericks      B      29        4
2  Mavericks      C      45        3
3  Mavericks      D      30        7
4    Rockets      E      29        8
5    Rockets      F      16        6
6    Rockets      G      25        9
7    Rockets      H      20       12

Notez que chacune des valeurs NaN a été renseignée avec le nom de l’équipe approprié.

Notez que l’argument axis=0 indique aux pandas de remplir les valeurs NaN verticalement.

Pour remplir les valeurs NaN horizontalement dans les colonnes, vous pouvez spécifier axis=1 .

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas fillna() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : Comment sauter des lignes lors de la lecture d’un fichier Excel
Pandas : Comment spécifier les types lors de l’importation d’un fichier Excel
Pandas : Comment combiner plusieurs feuilles Excel

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *