IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Pandas > manipulation de cellule vide dans un dataframe


Sujet :

Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Pandas > manipulation de cellule vide dans un dataframe
    Bonjour à tous

    Je rencontre une difficulté dans la manipulation de données sous python avec un tableau pandas.

    Je dispose d'un tableau de données sous excel dans lequel certaines cellules sont totalement vides.
    Comment manipuler ces cellules avec pandas ?

    Je voudrais par exemple faire que si la cellule aux coordonnées [3;3] est vide, il print 'not available'.
    J'ai essayé un peu tout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if dataframe[3].loc[3] == 'nan' :
          print('not available')
    Cela ne marche pas. J'ai essayé avec : 'nan' , '' , nan
    Rien n'y fait.

    Quelqu'un a-t-il une solution? J'avoue commencé à désespérer !
    Merci par avance pour votre aide
    A+

  2. #2
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2020
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Utilisation de isnull() de pandas
    Citation Envoyé par lowrelynn8 Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if dataframe[3].loc[3] == 'nan' :
          print('not available')
    Cela ne marche pas. J'ai essayé avec : 'nan' , '' , nan
    Rien n'y fait.

    Il faut utiliser la méthode de pandas pour ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import pandas as pd
     
    if pd.isnull(dataframe[3].loc[3]):
          print('not available')

  3. #3
    Membre régulier Avatar de AvySamaj
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 118
    Points : 75
    Points
    75
    Par défaut
    En premier lieu j'aimerais bien voir les messages d'erreurs que vous avez.

    Je suis assez étonnée de la ligne dataframe[3] j'ai beau tenté de mon côté, ni un dataframe (pandas.DataFrame) ni une série (pandas.Series) ne se laisse manipulé comme ça pour la sélection. À la limite il y a dataframe.iat[3] ou serie.iat[3] si on veut sélectionner à l'indice 3, ou bien dataframe.at[3] ou serie.at[3] là où la valeur dans l'index (pandas.DataFrame.index ou pandas.Series.index) vaut 3 et au format int en particulier.
    Si j'en viens à ce point précis, c'est qu'il est probable que votre code ne marche pas rien qu'à partir d'ici, car la façon de sélectionner me paraît douteuse à la vue de la documentation disponible et de mes tests.

    Donc pour sélectionner aux points de coordonnées (3,3) tel que (ligne indice 3, colonne indice 3), et il s'agira nécessairement d'un dataframe, vous devriez écrire ceci: dataframe.iat[3,3].

    Quant à la solution proposée par isoka05, elle est tout à fait correcte, à l'exception de la sélection que je trouve douteuse. On devrait donc avoir plutôt ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import pandas as pd
     
    if pd.isnull(dataframe.iat[3,3]):
          print('not available')

Discussions similaires

  1. nb de cellule vide dans une colonne?
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/02/2008, 11h22
  2. suppression cellule vide dans une plage ?
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/10/2007, 15h01
  3. [VBA W] : fusionner cellules vides dans tableau
    Par camzo dans le forum VBA Word
    Réponses: 6
    Dernier message: 26/09/2007, 17h01
  4. Enlever les cellules vide dans un ComboBox
    Par Dream Master dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/05/2007, 16h14
  5. Copy premiere Cellule vide dans colonne
    Par dvguy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/12/2006, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo