Partage
  • Partager sur Facebook
  • Partager sur Twitter

[COURS] Nettoyez et décrivez votre jeu de données

    31 octobre 2017 à 11:58:03

    Bonjour ! Voilà le fil de discussion dédié au cours Nettoyez et décrivez votre jeu de données.

    N'hésitez pas à échanger les uns avec les autres !

    Si vous avez une question concernant le fonctionnement du cours (accès aux exercices, envoi des exercices, inscription au cours…), contactez directement OpenClassrooms avec notre formulaire http://oc.cm/contact

    Bon courage et à bientôt !

    -
    Edité par OsitoLoco1 22 septembre 2022 à 17:55:58

    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2018 à 11:37:41

      Bonjour,

      Une question sur la partie "téléchargez les données" :

      Je suis dans le cas où ma date est au format 01/02/2020 avec le jour en premier, mes séparateurs sont des ";" et decimal ",". J'utilise donc la troisième ligne de commande proposée :

      data = pd.read_csv("operations.csv", parse_dates=[1,2], sep= ';', decimal= ',', dayfirst=True)

      Seulement lors de la création des variables "annee", "mois" à la toute fin du fichier, j'ai l'erreur suivante :

      AttributeError: 'str' object has no attribute 'year'

      Lorsque j'affiche ma colonne "date_operation" elle est toujours sous la forme 01/02/2020.

      Quelqu'un aurait une idée d'où pourrait provenir cette erreur ?

      Merci pour votre aide,

      Anita.

      • Partager sur Facebook
      • Partager sur Twitter
        20 février 2018 à 14:27:20

        Bonjour Nicolas,

        il y a quelque chose qui ne fonctionne pas dans le script 

        https://openclassrooms.com/courses/nettoyez-et-decrivez-votre-jeu-de-donnees/telechargez-les-donnees#/id/r-4726749

          (Pdb) next
        TypeError: unsupported operand type(s) for -: 'list' and 'str'
        > /home/jovyan/Parcours_OC_DataAnalyst/Décrivez et nettoyez votre jeu de données/operations_enrichies_2.py(30)<module>()
        -> balance = balance - last_val + LAST_BALANCE
        (Pdb) type(balance)
        <class 'list'>
        (Pdb) type(last_val)
        <class 'str'>
        (Pdb) type(LAST_BALANCE)
        <class 'int'>

        Je veux bien tenter de débogguer mais peux-tu expliquer l'opération à effectuer stp ?

        Merci d'avance,

        Cdlt,

        -
        Edité par moz42 20 février 2018 à 14:28:37

        • Partager sur Facebook
        • Partager sur Twitter
          20 février 2018 à 17:49:03

          AnitaDh a écrit:

          Bonjour,

          Une question sur la partie "téléchargez les données" :

          Je suis dans le cas où ma date est au format 01/02/2020 avec le jour en premier, mes séparateurs sont des ";" et decimal ",". J'utilise donc la troisième ligne de commande proposée :

          data = pd.read_csv("operations.csv", parse_dates=[1,2], sep= ';', decimal= ',', dayfirst=True)

          Seulement lors de la création des variables "annee", "mois" à la toute fin du fichier, j'ai l'erreur suivante :

          AttributeError: 'str' object has no attribute 'year'

          Lorsque j'affiche ma colonne "date_operation" elle est toujours sous la forme 01/02/2020.

          Quelqu'un aurait une idée d'où pourrait provenir cette erreur ?

          Merci pour votre aide,

          Anita.


          Bonjour Anita, votre colonne de date se trouve t'elle en 2e ou 3e position dans votre csv? Si ce n'est pas le cas, il faudrait vérifer l'argument parse_dates=[1,2]
          • Partager sur Facebook
          • Partager sur Twitter
            24 février 2018 à 16:27:21

            Question concernant la validation des exercices:

            Bonjour à tous, mon exercice est terminé et envoyé.

            Je suis désormais dans la partie correction. Hors on ne me propose que 2 exercices à corriger sur les 3 obligatoires. Combien de temps faut-il attendre en moyenne pour arriver au 3 corrections nécessaires pour pouvoir passer à l'étape 2 (recevoir une note)?

            Deuxième question : Que ce passe-t-il si personne ne corrige mon exercice? Nous n'aurons jamais de note?

            Arnaud

            • Partager sur Facebook
            • Partager sur Twitter
              28 février 2018 à 10:14:26

              Bonjour,

              Dans votre chapitre 'Appréhendez les mesures de forme', au niveau du paragraphe 'Kurtosis empirique', vous présentez les règles d'aplatissement de la distribution en comparaison avec le nombre 3.

              Or dans les exemples graphique du cours, le kurtosis est semble plutôt comparé à 0 pour en déduire l'aplatissement.

              Pourriez-vous clarifier ce point ?

              Eric.

              • Partager sur Facebook
              • Partager sur Twitter
                28 février 2018 à 12:05:20

                ArnaudPeseux1 a écrit:

                Question concernant la validation des exercices:


                Bonjour Arnaud. C'est normal, car le cours vient d'être publié. Dès qu'il y aura un nombre suffisant d'utilisateurs, les corrections seront disponibles plus rapidement.

                Félicitations pour la réalisation de cette activité !

                • Partager sur Facebook
                • Partager sur Twitter
                  7 mars 2018 à 3:06:26

                  Bonsoir je n'arrive pas a telecharger les données pour faire le TP en même temps que vous. Merci
                  • Partager sur Facebook
                  • Partager sur Twitter
                  A la recherche de la connaissance
                    30 mars 2018 à 21:10:55

                    Bonsoir,

                    Par rapport à la version épurée d'Anaconda (https://conda.io/miniconda.html), en effet, cela ne suffit pas pour le cours: Jupyter n'est pas disponible (bien sûr on peut s'en passer) mais surtout la librairie Panda n'est pas non plus incluse.

                    Donc pas le choix de télécharger les 500Moctets de la distribution Anaconda :)

                    A+

                    Mickael

                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 mars 2018 à 11:44:40

                      Merci Mickael d'avoir été notre cobaye ;) On va donc supprimer ce petit paragraphe !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 avril 2018 à 11:40:36

                        Bonjour,

                        Dans la partie "Représentez la distribution empirique d'une variable", sous-partie "du côté du code", l'argument 'normed' est déprécié apparemment (message d'erreur dans Jupyter). Il faut le remplacer par 'density' pour que cela fonctionne correctement.

                        Versions :

                        Matplotlib: 2.2.2

                        Python: 3.6.5

                        Nouveau code :

                        # Histogramme
                        data["montant"].hist(density=True)
                        plt.show()
                        # Histogramme plus beau
                        data[data.montant.abs() < 100]["montant"].hist(density=True,bins=20)
                        plt.show()


                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 avril 2018 à 17:24:20

                          Bonjour, 

                          avec le data suivant:

                          data=pd.read_csv('CA20180415_1255.CSV',parse_dates=[0],sep=';',dayfirst=True,decimal= ',',encoding='latin-1')

                          j'ai l'erreur suivante:

                          ParserError Traceback (most recent call last...

                          ParserError: Error tokenizing data. C error: Expected 2 fields in line 11, saw 5

                          Dans mon fichier, en ligne 11, j'ai les intitulés des colonnes:

                          Date;Libellé;Débit Euros;Crédit Euros;

                          j'ai cherché sur le net mais je ne trouve pas de commandes ou d'instructions pour gérer cela.

                          merci.

                          -
                          Edité par Pasc.alZ 16 avril 2018 à 17:25:26

                          • Partager sur Facebook
                          • Partager sur Twitter
                            16 avril 2018 à 18:52:35

                            Bonjour Pascal,

                            Normalement, vos intitulés de colonnes se trouvent en première ligne, je pense donc que les lignes 1-10 sont probablement inutiles. Essayez de les supprimer et de réenregistrer votre fichier.

                            Bonne chance !

                            • Partager sur Facebook
                            • Partager sur Twitter
                              16 avril 2018 à 22:23:02

                              tout simplement !!

                              Super, merci!

                              • Partager sur Facebook
                              • Partager sur Twitter
                                4 mai 2018 à 16:46:31

                                Salut , impossible de télécharger le fichier zip.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  14 mai 2018 à 17:26:10

                                  Bonjour,

                                  Lorsque je lance mon script, ma console m'affiche l'erreur suivante:

                                  Traceback (most recent call last):
                                    File "alacom.py", line 113, in <module>
                                      balance = balance - last_val + LAST_BALANCE
                                  ValueError: operands could not be broadcast together with shapes (211,) (2,)

                                  Et je n'arrive pas à trouver l'origine de cette erreur.

                                  Merci.

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Alain Béguin

                                    16 mai 2018 à 14:47:28

                                    Bonjour,

                                    J'aurais une remarque concernant le chapitre "Appréhendez les mesures de forme".

                                    Je pense que la partie sur le kurtosis gagnerait à être un peu plus détaillée. La formule qui est donnée est celle de la version non normalisée, cependant la notation utilisée (le gamma) est celle de la version normalisée (on utilise le Beta pour la version non normalisée). Pour obtenir la version normalisée, il faut soustraire 3 à la formule donnée. Cela explique la différence observée entre les graphiques et la valeur de 3 pour une distribution normale. Cette valeur de 3 est exacte pour la version non normalisée, mais pour la version normalisée c'est 0 (pour une valeur de 3 on obtient une distribution suivant la loi de Laplace). Au vu des graphiques, il semble que dans python ça soit la version normalisée qui est renvoyée (loi normale pour une valeur de 0)

                                    -
                                    Edité par Pierre-EloiRagetly 16 mai 2018 à 17:17:31

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      23 mai 2018 à 14:14:36

                                      begal1 a écrit:

                                      Bonjour,

                                      Lorsque je lance mon script, ma console m'affiche l'erreur suivante:

                                      Traceback (most recent call last):
                                        File "alacom.py", line 113, in <module>
                                          balance = balance - last_val + LAST_BALANCE
                                      ValueError: operands could not be broadcast together with shapes (211,) (2,)

                                      Et je n'arrive pas à trouver l'origine de cette erreur.

                                      Merci.

                                      Bonjour Begal1, pouvez-vous vérifier que votre CSV s'est correctement importé dans le dataframe ? Il faudrait vérifier qu'il y a bien une valeur par cellule. Pouvez-vous m'envoyer en message personnel le réultat de l'instruction suivante svp :

                                      print(data)

                                      Merci !

                                      Nicolas

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 juin 2018 à 0:42:32

                                        Bonjour Nicolas,

                                        Concernant l'activité proposée sur les analyses bivariées, question 4, colonne "petal_wdth" du tableau de  l'énoncé de l'activité. 

                                        Les ordres de grandeurs ne semblent pas correspondre au graphique juste au dessus, où l'on note une plage de variation entre 0 et 3.  Est-ce norma ? 

                                        Cordialement 

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          22 juin 2018 à 13:54:21

                                          catherine78 a écrit:

                                          Bonjour Nicolas,

                                          Concernant l'activité proposée sur les analyses bivariées, question 4, colonne "petal_wdth" du tableau de  l'énoncé de l'activité. 

                                          Les ordres de grandeurs ne semblent pas correspondre au graphique juste au dessus, où l'on note une plage de variation entre 0 et 3.  Est-ce norma ? 

                                          Cordialement 


                                          Bonjour Catherine,

                                          Bravo pour avoir remarqué cela !

                                          J'ai corrigé le tableau, les valeurs de la variable patal_width étaient effectivement erronées,

                                          N'hésitez pas si vous remarquez d'autres problèmes.

                                          Nicolas

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            12 juillet 2018 à 15:32:39

                                            Bonjour Pierre,

                                            Merci pour la remarque, c'est maintenant corrigé ;)

                                            Pouvez-vous regarder si c'est mieux ?

                                            Merci

                                            Nicolas

                                            Pierre-EloiRagetly a écrit:

                                            Bonjour,

                                            J'aurais une remarque concernant le chapitre "Appréhendez les mesures de forme".

                                            Je pense que la partie sur le kurtosis gagnerait à être un peu plus détaillée. La formule qui est donnée est celle de la version non normalisée, cependant la notation utilisée (le gamma) est celle de la version normalisée (on utilise le Beta pour la version non normalisée). Pour obtenir la version normalisée, il faut soustraire 3 à la formule donnée. Cela explique la différence observée entre les graphiques et la valeur de 3 pour une distribution normale. Cette valeur de 3 est exacte pour la version non normalisée, mais pour la version normalisée c'est 0 (pour une valeur de 3 on obtient une distribution suivant la loi de Laplace). Au vu des graphiques, il semble que dans python ça soit la version normalisée qui est renvoyée (loi normale pour une valeur de 0)

                                            -
                                            Edité par Pierre-EloiRagetly 16 mai 2018 à 17:17:31



                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              13 juillet 2018 à 16:17:20

                                              Hello Nicolas,

                                              Deux petites questions concernant cette page : https://openclassrooms.com/fr/courses/4525266-decrivez-et-nettoyez-votre-jeu-de-donnees/4725622-analysez-la-correlation-entre-deux-variables-quantitatives

                                              Pour générer le code qui plot toutes les boîtes : tu réécris from scratch à chaque situation, ou bien tu gardes la méthode dans un coin ? Il manque plus grand chose d'ailleurs au code pour devenir une petite fonction à laquelle on passe deux séries + une taille de classe pour qu'elle génère tout ça :) Le fait de ploter toutes les boîtes à moustache d'une variable en fonction d'une taille de classe arbitraire d'une autre variable, cela porte ou non ou pas ?

                                              Merci ! :)

                                              [Edit]

                                              Petite remarque ici : https://openclassrooms.com/fr/courses/4525266-decrivez-et-nettoyez-votre-jeu-de-donnees/4774671-analysez-deux-variables-quantitatives-par-regression-lineaire

                                              Pour la ligne où on veut entraîner le modèle grâce au MCO :

                                              result = sm.OLS(Y, X).fit() # OLS = Ordinary Least Square (Moindres Carrés Ordinaire)

                                              Il n'est pas précisé qu'il faille importer l'API de statsmodels :

                                              import statsmodels.api as sm

                                              [Encore un edit]

                                              Ici : https://openclassrooms.com/fr/courses/4525266-decrivez-et-nettoyez-votre-jeu-de-donnees/4774896-analysez-une-variable-quantitative-et-une-qualitative-par-anova

                                              Quand tu dis :

                                              Si η2Y/X=0ηY/X2=0 , cela signifie que les moyennes par classes sont toutes égales. Il n’y a donc pas a priori de relation entre les variables Y et X. Au contraire, si η2Y/X=1ηY/X2=1 , cela signifie que les moyennes par classes sont très différentes, chacune des classes étant constituée de valeurs identiques : il existe donc a priori une relation entre les variables Y et X.

                                              Je me trompe peut-être mais, est-ce qu'une interprétation de la valeur 1 pour le rapport de corrélation ne serait pas de dire que : si le rapport de corrélation vaut 1, alors cela signifie que la variation interclasse vaut la variation totale. Ce qui signifie que la variation interclasse se calque parfaitement sur les variations de la variable et donc que notre modèle / répartition des classes modélise parfaitement les fluctuations ?

                                              -
                                              Edité par nicodesh 13 juillet 2018 à 18:32:28

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                16 juillet 2018 à 13:13:14

                                                ma question n'a plus lieu d'être. Bonne continuation.

                                                -
                                                Edité par NuchCh 18 juillet 2018 à 18:51:06

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  17 juillet 2018 à 10:29:27

                                                  Nicolas Rangeon a écrit:

                                                  Bonjour Pierre,

                                                  Merci pour la remarque, c'est maintenant corrigé ;)

                                                  Pouvez-vous regarder si c'est mieux ?

                                                  Merci

                                                  Nicolas

                                                  Pierre-EloiRagetly a écrit:

                                                  Bonjour,

                                                  J'aurais une remarque concernant le chapitre "Appréhendez les mesures de forme".

                                                  Je pense que la partie sur le kurtosis gagnerait à être un peu plus détaillée. La formule qui est donnée est celle de la version non normalisée, cependant la notation utilisée (le gamma) est celle de la version normalisée (on utilise le Beta pour la version non normalisée). Pour obtenir la version normalisée, il faut soustraire 3 à la formule donnée. Cela explique la différence observée entre les graphiques et la valeur de 3 pour une distribution normale. Cette valeur de 3 est exacte pour la version non normalisée, mais pour la version normalisée c'est 0 (pour une valeur de 3 on obtient une distribution suivant la loi de Laplace). Au vu des graphiques, il semble que dans python ça soit la version normalisée qui est renvoyée (loi normale pour une valeur de 0)

                                                  -
                                                  Edité par Pierre-EloiRagetly 16 mai 2018 à 17:17:31



                                                  Oui c'est beaucoup mieux :)

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    21 août 2018 à 12:49:20

                                                    Salut,

                                                    j'en suis à la moitié du cours. Ca va très vite, et pour l'instant ça ressemble beaucoup à une liste de trucs à savoir, présentés les uns après les autres. Je sais déjà ce qu'est une moyenne, une variance, un écart type, le mode, etc... Donc pas de problème. Mais le néophyte doit vraisemblablement oublier la formule précédente sitôt qu'une nouvelle est présentée.

                                                    Quelques exercices entre les présentations de concepts pour cimenter le matériel ne feraient pas de mal, AMHA.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      21 août 2018 à 20:58:49

                                                      Bonjour,

                                                      Je suis au tout début du cours, et ça m'a l'air très intéressant. Cependant, je trouve tout plein de petites coquilles, fautes d'orthographes ou ce genre de trucs tu vois. Je me demande si ça pourrait servir que je relise et que je rapport toutes ces petites erreurs ? 

                                                      Bon j'y retourne !

                                                      -
                                                      Edité par CocoHi1 21 août 2018 à 21:01:08

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        27 août 2018 à 15:32:29

                                                        Bonjour CocoHi1,

                                                        Nous faisons relire les cours par des professionnels. Cependant, si vous trouvez des erreurs et que vous souhaitez nous les faire remonter, ce serait avec plaisir. Vous pouvez me joindre directement en MP pour cela.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          28 août 2018 à 10:53:51

                                                          Eurêka!

                                                          Je viens de trouver la réponse à la question 4 de l'exercice sur l'analyse bivariée. plus de question, donc...

                                                          -
                                                          Edité par LaurentGourdon 28 août 2018 à 13:13:41

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            5 septembre 2018 à 14:26:10

                                                            j'ai des problèmes pour importer le fichier opération 

                                                            IL affiche cela 

                                                            FileNotFoundError                         Traceback (most recent call last)
                                                            <ipython-input-5-4b82e6fca4ec> in <module>()
                                                             1 import pandas as pd
                                                            ----> 2data = pd.read_csv("operations.csv",parse_dates=[1,2])
                                                             3 print(data)
                                                            
                                                            ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, doublequote, delim_whitespace, low_memory, memory_map, float_precision)
                                                             676                     skip_blank_lines=skip_blank_lines)
                                                             677 
                                                            --> 678return _read(filepath_or_buffer, kwds)
                                                             679 
                                                             680     parser_f.__name__ = name
                                                            
                                                            ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
                                                             438 
                                                             439     # Create the parser.
                                                            --> 440parser = TextFileReader(filepath_or_buffer, **kwds)
                                                             441 
                                                             442     if chunksize or iterator:
                                                            
                                                            ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds)
                                                             785             self.options['has_index_names'] = kwds['has_index_names']
                                                             786 
                                                            --> 787self._make_engine(self.engine)
                                                             788 
                                                             789     def close(self):
                                                            
                                                            ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
                                                             1012     def _make_engine(self, engine='c'):
                                                             1013         if engine == 'c':
                                                            -> 1014self._engine = CParserWrapper(self.f, **self.options)
                                                             1015         else:
                                                             1016             if engine == 'python':
                                                            
                                                            ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds)
                                                             1706         kwds['usecols'] = self.usecols
                                                             1707 
                                                            -> 1708self._reader = parsers.TextReader(src, **kwds)
                                                             1709 
                                                             1710         passed_names = self.names is None
                                                            
                                                            pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__()
                                                            
                                                            pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source()
                                                            
                                                            FileNotFoundError: File b'operations.csv' does not exist
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            [COURS] Nettoyez et décrivez votre 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