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 :

Comment créer un graphique à partir d'un tableau Excel ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur Radio Access Network
    Inscrit en
    Décembre 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Radio Access Network
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2022
    Messages : 10
    Par défaut Comment créer un graphique à partir d'un tableau Excel ?
    Bonjour à toutes et à tous,

    je cherche à créer un graphique à partir de cellules bien précises d'un tableau Excel.
    Voici le cheminement:
    je crée un un tableau croisé dynamique "tcd1" à l'aide de "pandas.pivot_table", puis j'intègre ce tableau croisé dynamique dans un fichier Excel "tcd1excel"(.xlsx) à l'aide de "pandas.ExcelWriter" dans l'onglet "CPULoad".
    C'est ce fichier Excel qui sert de source de données pour le graphique que je souhaite créer.
    Ensuite, j'utilise "plot" pour créer le graphique et j'essaie de spécifier les cellules que je souhaite prendre en compte dans mon graphique (cellules D1 à FO1 pour l'axe des x ; et cellules D2 à FO2 pour l'axe des y)
    Voici une copie de mon script:
    Nom : Capture.PNG
Affichages : 424
Taille : 66,4 Ko

    De toute évidence, cela ne fonctionne pas. Message d'erreur : "Key error: 'D1:FO1' "

    J'ai essayé en modifiant le code comme suit:
    plt.plot(tcd1excel['D1:FO1'], tcd1excel['D2:FO2']) ; mais le code erreur devient: "TypeError: 'XlsxWriter' object is not subscriptable"

    Auriez-vous déjà eu besoin de faire ce genre de chose ? si "Oui", auriez-vous la solution à mon problème svp ?

    Bien à vous :-)

  2. #2
    Membre expérimenté
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par défaut
    Bonjour,
    SI je regarde l'aide pandas, la méthode pandas.pivot_table : Create a spreadsheet-style pivot table as a DataFrame. Donc cette méthode renvoi un DataFrame.
    Tu dois donc accéder aux données de tcd1 de la même manière que tu accèdes aux données d'un DataFrame.

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur Radio Access Network
    Inscrit en
    Décembre 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Radio Access Network
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2022
    Messages : 10
    Par défaut
    Bonjour,
    Merci pour ton retour.
    je sais prendre en compte des colonnes entières, mais pas des cellules précises.
    Comment fais-tu stp ?

    Regards

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par TomaB74 Voir le message
    je sais prendre en compte des colonnes entières, mais pas des cellules précises.
    Comment fais-tu stp ?
    Ce sont des colonnes ou des lignes qu'on va passer à plt.plot (et pas des cellules précises).
    Et pour savoir comment faire on ouvre la documentation de https://pandas.pydata.org/docs/refer...vot_table.html et on se fait la main sur les exemples qu'on y trouve.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre expérimenté
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par défaut
    Citation Envoyé par TomaB74 Voir le message
    Bonjour,
    Merci pour ton retour.
    je sais prendre en compte des colonnes entières, mais pas des cellules précises.
    Comment fais-tu stp ?

    Regards
    Dans ton exemple tu souhaite sélectionner 2 set de data sur la première et deuxième ligne du classeur. (Méfies toi car lorsque tu exportes un dataframe dans un fichie excel la première ligne correponds au nom des colonnes et la première colonne à l'index sauf paramètres spécifiques passés en option lors de l'écriture.)

    Tes données X seraient donc sur la 1 ligne et iraient de la colonne D à FO
    Tes données Y seraient donc sur la 2 ligne et iraient de la colonne D à FO

    Pour sélectionner ces deux plages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    x = tcd1.iloc[0,4:172]
    y = tcd1.iloc[1,4:172]
    La méthode iloc est une des méthodes pour sélectionner des données. Tu peux très bien sélectionner une plage de données qu'une seule cellule

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur Radio Access Network
    Inscrit en
    Décembre 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Radio Access Network
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2022
    Messages : 10
    Par défaut
    Bonjour,

    Merci pour vos retours.
    Je vais parcourir la doc, je vais surement y trouver des infos intéressantes :-)
    L'utilisation de "iloc" me semble parfaite. je vais essayer ça


    Cdt

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/03/2018, 09h06
  2. [Toutes versions] Comment créer un graphique tout simple comme dans Excel
    Par damsmut dans le forum IHM
    Réponses: 15
    Dernier message: 29/08/2017, 22h58
  3. Réponses: 0
    Dernier message: 12/02/2014, 15h51
  4. [Toutes versions] Créer un recordset à partir d'un tableau Excel filtré
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/05/2011, 11h51
  5. [Toutes versions] Créer plusieurs graphiques à partir d'un tableau
    Par glougloup dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/05/2010, 09h24

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