Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question "Nettoyez et analysez jeu de données"

quels prérequis ?

    11 octobre 2022 à 17:50:35

    Bonjour,

    Ma question est double mais porte sur le même cours : une question liée à un problème technique 'logistique' (lien ne fonctionnant pas/peu) et une autre sur le fond du cours (prérequis nécessaires pour le comprendre) :

    1___ sur cette page : https://openclassrooms.com/fr/courses/7410486-nettoyez-et-analysez-votre-jeu-de-donnees/7427148-tirez-un-maximum-de-ce-cours#/id/r-7519528    "Vous trouverez le code complet dans un notebook (...) dansle dossier suivant,"  << une fois téléchargé, il y a 2 fichiers notamment un "Python - Décrivez et nettoyez votre jeu de données" mais il est en format " . ipynb "  >>  cela ne se lit pas ni ne s'ouvre, depuis mon Windows 11 ; lorsque je change l'extension en .html, tout est collé et illisible cela fait des symboles et des pourcentages collés à du littéral en un immense bloc peu intelligible a priori , comment faire pour lire un tel fichier sous Windows 10 et windows 11  ?


    pouvez vous communiquer un lien vers une version PDF ? ou .TXT ? ou .Csv ? .. mais quelque chose ouvrable depuis Windows 11 ?

    2___Autre question : ce cours me semble particulièrement technique ; pouvez vous nous guider svpl en nous précisant les notions de base à maitriser pour le comprendre ? 

    de surcroît, particulièrement abstraites, ce qui ne m'aide pas  ...que faut il maitriser obligatoirement concretement comme notions , avant d'aborder un tel cours ? c'est le 1er sur lequel je bloque autant, le 1er sur lequel il ne se passe pas 1paragraphe sans que je doive passer plusieurs heures à rechercher le sens concret de chaque concept cité , cela m'inquiète


    cela me demande énormément d heures de recherches avec le risque de me faire partir dans tous les sens ; pouvez vous me guider et me lister toutes les notions préliminaires nécessaires pour comprendre / aborder un tel cours ? ..

    quasiment à chaque paragraphe, je tombe sur des notions que je n 'ai jamais vues ( même en classe prépa --_-- ..merci de votre aide.........

    -
    Edité par Marie L. (DS) 11 octobre 2022 à 17:56:14

    • Partager sur Facebook
    • Partager sur Twitter
      11 octobre 2022 à 18:45:15

      ipynb c'est un notebook utilisable par Jupyter Notebook, utilisé par le cours https://openclassrooms.com/fr/courses/6204541-initiez-vous-a-python-pour-lanalyse-de-donnees (ipynb= IronPYthon NoteBook).
      Tu peux l'ouvrir avec le Bloc-Notes de windows (ou autre éditeur de texte comme notepad++ et consorts) pour visualiser son contenu.

      Les prérequis sont sur la page "Home" du cours https://openclassrooms.com/fr/courses/7410486-nettoyez-et-analysez-votre-jeu-de-donnees 

      Pré-requis :

      Mathématiques de niveau Terminale ES ou S
      Optionnellement, savoir programmer :
      en langage R (si ce n'est pas le cas, je vous invite à suivre le cours "Initiez-vous
      au langage R pour analyser vos données")
      ou en langage Python, niveau basique (si ce n'est pas le cas, je vous invite à suivre
      le cours "Initiez-vous à Python pour l’analyse de données")
      Savoir manipuler les objets Dataframe (disponibles nativement sous R, ou en Python
      via la librairie Pandas) (si ce n'est pas le cas, je vous invite à suivre le cours
      "Découvrez les librairies Python pour la data science")
      Cela vous sera utile pour quelques quiz et activités.

      Outils nécessaires :

      R ou Python téléchargé sur votre ordinateur.

      Les données utilisées dans ce cours.

      Si tu as d'autres questions sur ce cours, pose les à la suite de ce post, ça sera plus facile pour suivre.

      -
      Edité par umfred 11 octobre 2022 à 18:51:22

      • Partager sur Facebook
      • Partager sur Twitter
        11 octobre 2022 à 19:13:57

        Merci, la 2e partie plus précisément du cours,  notamment "distribution empirique" "variables q.discrètes et continues"  je n'ai pas souvenir d'avoir étudié cela meme en PSCI.

        v=1nni=1(xix¯¯¯)2=(1nni=1x2i)x¯¯¯2

        ..pourquoi au carré ? (..)

        pourquoi exposant n alloué à "somme" et pourquoi multiplié par X exposant 2 indice i ?

        merci bcp

        -
        Edité par Marie L. (DS) 11 octobre 2022 à 22:47:30

        • Partager sur Facebook
        • Partager sur Twitter
          11 octobre 2022 à 19:46:01

          a priori c'est expliqué dans le cours

          i c'est par habitude la variable utilisée pour faire des incrémentations (i comme incrément je suppose)(si besoin de plus d'une variable, on utilise les lettres suivantes, j, k, l, ..)

          n pareil, c'est le nombre total d'éléments (en général on fait somme de i=0 à n; 

          n+1 c'est pour désigner l'élément suivant, dans une formule récursive par exemple (on peut voir aussi n-1, n+2, ... selon les besoins de la formule)

          (tous ça, ce sont des concepts mathématiques qui me semblent être assez basique, comme prendre x pour désigner une variable inconnue dans une équation)

          Les formules c'est de la mathématique de statistiques (vu en principe dans les terminal indiqués, mais si on les utilise pas, c'est difficile de s'en rappeler quelques années plus tard)

          -
          Edité par umfred 11 octobre 2022 à 19:46:13

          • Partager sur Facebook
          • Partager sur Twitter
            12 octobre 2022 à 13:47:41

            Bonjour, 

            1____Parfait j'ai pu en effet me pencher plus avant dans le cours stats et cela aide..

            2____En revanche, pour ma 1 ere question tout en haut de ce fil, j'ai essayé d'ouvrir avec "Bloc Note " ce format semble vraiment bloquer voici ce que cela m'affiche (via "Bloc Notes)

            {

             "cells": [

              {

               "cell_type": "code",

               "execution_count": 1,

               "metadata": {},

               "outputs": [

                  [  ... ]

               "file_extension": ".py",

               "mimetype": "text/x-python",

               "name": "python",

               "nbconvert_exporter": "python",

               "pygments_lexer": "ipython3",

               "version": "3.8.5"

              }

             },

             "nbformat": 4,

             "nbformat_minor": 4

            }

            auriez vous une autre solution ? je cherche concrètement, à juste "lire" le document transmis dans le cours sur cette page : https://openclassrooms.com/fr/courses/7410486-nettoyez-et-analysez-votre-jeu-de-donnees/7427148-tirez-un-maximum-de-ce-cours#/id/r-7519528dans le dossier suivant,"  merci de votre aide 

            -
            Edité par Marie L. (DS) 12 octobre 2022 à 13:50:39

            • Partager sur Facebook
            • Partager sur Twitter
              12 octobre 2022 à 14:25:43

              je répète ce que j'ai dit, c'est un fichier de type notebook Jupyter, donc à utiliser avec Jupyter qui est utilisé dans ce cours https://openclassrooms.com/fr/courses/6204541-initiez-vous-a-python-pour-lanalyse-de-donnees et dont tu peux utiliser une version en ligne sur https://jupyter.org/try .
              Le bloc-notes te permet de lire le contenu du fichier (il faut connaitre sa structure pour bien le comprendre), mais le plus simple est d'utiliser jupyter notebook en ligne (si tu ne veux l'installer) : aller sur https://jupyter.org/try-jupyter/retro/tree/ ou https://jupyter.org/try-jupyter/lab/ et glisser-déposer le fichier ipynb dans la fenêtre (partie explorateur de fichier); ensuite double-clic sur le fichier et voila, le fichier est lisible. Après modification, tu pourras retélécharger le notebook sur ton pc pour garder l'évolution (la plateforme d'essai est conserver pendant un certain temps (aucune idée de la limite))
              • Partager sur Facebook
              • Partager sur Twitter
                12 octobre 2022 à 16:00:38

                Oui, (j'ai déjà Jupyter notebook via Anaconda )mais concrètement comment faire pour que le fichier  s'ouvre   dans le shell ? [cours : https://openclassrooms.com/fr/courses/7410486-nettoyez-et-analysez-votre-jeu-de-donnees/7451506-nettoyez-vos-donnees-avec-python#/id/r-7456613 ]

                Voici ce que j'ai saisi dans Jupyter Notebook :

                import pandas as pd

                import numpy as np

                data=pd.read_ipynb('nettoyez_vos_donnees_avec_python.ipynb') 

                print(data)

                Lorsque j'execute, cela ne donne rien

                Je ne comprends pas où se trouve l'erreur.

                -
                Edité par Marie L. (DS) 12 octobre 2022 à 16:32:58

                • Partager sur Facebook
                • Partager sur Twitter
                  12 octobre 2022 à 16:35:59

                  tu peux lancer directement jupyter notebook avec le notebook en question en tapant dans une invite de commande

                  jupyter run notebook.ipynb

                  à la place de notebook.ipynb, il faut indiquer le chemin vers ton fichier (il faut que le fichier csv soit au même endroit que le fichier ipynb

                  https://docs.jupyter.org/en/latest/running.html#using-a-command-line-interface 

                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 octobre 2022 à 16:42:22

                    cela fonctionne parfaitement quand j'ouvre en cliquant  via "files" manuellement

                    mais par "code", comment peut on "ouvrir / importer " ce fichier .ipynb ?  (en codant je veux dire ; pour importer le fichier mais via un "encodage" ? 

                    voilà ce que cela me fait :  j'ai saisi l'emplacement : C:\Users\metar\Documents\ocm

                    jupyter run C:\Users\metar\Documents\ocm

                    en exécutant j'ai :

                    Input In [10]
                     jupyter run C:\Users\metar\Documents\ocm
                     ^
                    SyntaxError: invalid syntax
                    quelle autre alternative y  aurait-il pour finir par ouvrir / lire ce fichier ? .. l'auriez vous en PDF plus simplement sinon ? ..ou .csv .. ? 
                     Sans lecture de ce fichier figurant dans le cours sous forme de lien,  je reste bloqué -_-
                    il y a pourtant écrit dans le cours  "  le dossier suivant, que vous pourrez ouvrir dans un éditeur de texte." j 'ai essayé dans note book , failure : / et dans jupyter , failure
                    merci pour votre aide précieuse (que j'espère comprendre cette fois )! 

                    -
                    Edité par Marie L. (DS) 12 octobre 2022 à 17:42:06

                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 octobre 2022 à 18:08:45

                      on ne peut pas par code ou alors utiliser

                      import os
                      os.system("jupyter run ...")
                      


                      dans une console python ou un script python ce qui simule un lancement par l'invite de commande (pas dans une console python ou anaconda) 

                      L'invite de commandes, c'est une fenêtre "dos" de windows (dont les lignes affiche, en principe, l'emplacement actuel sur le PC ex c:\windows\system32>)

                      Une console python c'est une fenêtre interpréteur de python (en tapant py ou python dans l'invite de commande, on lance une console python, qui commence par >>> quand lancer depuis une invite de commandes windows)

                      Dans un notebook, on parle de cellule (zone précédée d'un [ ] qui indique le nombre d'exécution de la cellule) qui constitue un bloc d'instruction.

                      Nota: il faut décompresser le .zip téléchargé, le notebook ne peut pas ouvrir le zip, et ce n'est pas non plus un éditeur de texte

                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 octobre 2022 à 20:41:44

                        re bonjour  quelqu'un peut il m'aider à "traduire" (en français intelligible ; )   cette ligne de code dans le cours svpl ( https://openclassrooms.com/fr/courses/7410486-nettoyez-et-analysez-votre-jeu-de-donnees/7451506-nettoyez-vos-donnees-avec-python#/id/r-7458147  ? ) 

                        >>> data.loc[data['email'].duplicated(keep=False),:]

                        concrètement en 'français' cela donnerait quoi lorsqu'on "lit ce code?

                        (cela m'aidera à comprendre la logique.

                        le ''keep = False" se lit-il "tout ce qui n'est pas dupliqué (False) doit être gardé"  ? sinon, comment le 'traduire' ? merci !

                        -
                        Edité par Marie L. (DS) 12 octobre 2022 à 21:52:25

                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 octobre 2022 à 11:10:33

                          voir la doc de pandas pour le loc => https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html 

                          pour résumer, permet d'accéder à un groupe de lignes et de colonnes par libellé(s) ou tableau booléen

                          duplicated est expliqué dans le cours juste avant, sinon pareil voir la doc https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.duplicated.html  qui donne en plus l'infos sur le kepp=false (marque true toutes les occurrences dupliquées)

                          donc ça donne: affiche moi les lignes de data dont la colonne 'email' comporte des doublons (ou+)

                          comme dans le fichier il y a que ces 2 personnes qui ont un mail identiques, ça te renvoie ces 2 lignes

                          si tu as un autre personne qui a un mail identique à un autre que les 2 qui renvoyé actuellement, tu les verrais aussi. Par exemple, si on rajoute la ligne dans personnes.csv

                          René,helloworld@supermail.eu,09/04/2008,Egypte,"1.74m"
                          

                          le résultat (après avoir rechargé le fichier) donnerait:

                             prenom                    email date_naissance        pays taille
                          1  Samuel   samuel_329@example.com     20/09/2001         NaN  1.67m
                          4    Heri  helloworld@supermail.eu     05/03/2008  Madagascar  1.34m
                          6  samuël   samuel_329@example.com            NaN       Bénin  1.45m
                          7    René  helloworld@supermail.eu     09/04/2008      Egypte  1.74m




                          • Partager sur Facebook
                          • Partager sur Twitter
                            13 octobre 2022 à 13:28:27

                            bonjour.. merci pour ce pavé de pandas xD   (pandas.DataFrame.loc — pandas 1.5.0 documentation (pydata.org)  je connais la source, mais sa lecture est très fastidieuse et demande plrs heures)  que je vais lire ;

                            dans l'intervalle,  est ce possible de re "traduire " ce code ? (en vulgarisé / français )  ?data.loc[data['email'].duplicated(keep=False),:]


                            comment on "lit "  cette ligne (transcription en français je veux dire) le plus simplement possible ?  vous avez dit "affiche moi les lignes de data dont la colonne 'email' comporte des doublons (ou+)"  est-ce vraiment la " traduction" exacte    ?

                            >>   pourquoi le "False" ?  comment le comprendre ici ? 

                            data.loc[data['email'].duplicated(keep=False),:]

                            qu'est ce qui est false ici si on traduit la ligne en fr. cela donnerait quoi ?  je comprends pas le false.. j'ai compris que ça s'applique à toutes les colonnes (  :  ) mai s  quoi ? 



                            comment on "lit "  exactement  cette ligne (transcription en français je veux dire) 

                            data.loc[data['email'].duplicated(keep=False),:]

                            grace à votre réponse par transposition je pourrai mieux comprendre ce code. merci de votre aide

                            -
                            Edité par Marie L. (DS) 13 octobre 2022 à 13:44:00

                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 octobre 2022 à 17:20:15

                              je ne vois pas comment je pourrais le dire autrement, Keep peut prendre 3 valeurs, ce qui ferai pour cette ligne de code, qu'avec:

                              • False : affiche tous les éléments dupliqués; 
                              • 'first': n'affiche pas la 1ere occurrence des éléments dupliqués
                              • 'last': n'affiche pas la dernière occurrence des éléments dupliqués

                              En fait, si tu veux, on doit décomposer la ligne en 2

                              data['email'].duplicated(keep=False)

                              qui renvoie True sur les lignes où la valeur data['email'] est dupliquée (présente sur d'autres lignes) (avec Keep =false, toutes les lignes dupliqués sont à true; avec keep='first' la 1ère occurence est marqué à false et les suivantes à true; avec keep='last', la dernière occurence est marqué à false et les précédentes sont à true
                              et donc la commande complète va afficher les lignes de data qui sont à true (résultat précédent)

                              Il ne faut pas hésiter à faire des essais soi même.

                              -
                              Edité par umfred 13 octobre 2022 à 17:20:53

                              • Partager sur Facebook
                              • Partager sur Twitter
                                6 novembre 2022 à 19:51:46

                                bonjour 

                                dans pandas python, je veux transformer le type des valeurs de ma variable "NOMBRE_ETUDIANTS" (qui est en "objet"), dans mon df, en integers (INT)

                                or, la doc pandas dit pour tout le df pas pour une colonne ( https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.astype.html )

                                   d'intuition, j'ai tappé :

                                df.astype('NOMBRE_ETUDIANTS':'int32').dtypes

                                j'ai une erreur,

                                quelqu un peut il me conseiller le bon code pour une telle action?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  7 novembre 2022 à 10:37:40

                                  Tu as mal recopié l'exemple donné, dans l'exemple, on passe par un dictionnaire

                                  df.astype({'NOMBRE_ETUDIANTS':'int32'}).dtypes


                                  Sinon je casterais la colonne en question directement (je ne sais pas si ça marche)

                                  df['NOMBRE_ETUDIANTS'].astype('int32')



                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 novembre 2022 à 10:54:02

                                    ok c'est parfais merci ! 

                                    autre question data pandas je cherchais à virer la colonne index avec les numéros (pas la remplacer mais la supprimer complètement)  en faisant

                                    df.reset_index(drop=True)

                                    et en tappant le code ici trouvé ( https://fr.code-paper.com/python/examples-delete-index-column-in-dataframe-python  ) , lorsque je rappelle df, il y a toujours ma colonne d'index qui a disparu ..

                                    meme avec le inplace=True , j'ai toujours ma colonne d'index..tu saurais pourquoi ?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      7 novembre 2022 à 11:09:20

                                      il y a toujours des index dans un dataframe 

                                      reset_index réinitialise les index https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.reset_index.html 

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Question "Nettoyez et analysez jeu de données"

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown