Partage

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

Team OC 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 à poser vos questions ici et à échanger les uns avec les autres ! Je ferai de mon mieux pour vous répondre régulièrement.

Si vous avez une question concernant le fonctionnement du cours (accès aux exercices, envoi des exercices, inscription au cours…), contactez directement OpenClassrooms à hello@openclassrooms.com

Bon courage et à bientôt !

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
certifiante
Financée
à 100%
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.

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 tdupouy 20 février 2018 à 14:28:37

Team OC 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]
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

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.

Team OC 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é !

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
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

Team OC 31 mars 2018 à 11:44:40

Merci Mickael d'avoir été notre cobaye ;) On va donc supprimer ce petit paragraphe !
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()


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

Team OC 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 !

16 avril 2018 à 22:23:02

tout simplement !!

Super, merci!

4 mai 2018 à 16:46:31

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

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.

Begal1
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

Team OC 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

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 

Team OC 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

Team OC 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



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

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

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 :)

[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é.
  • Editeur
  • Markdown