Partage
  • Partager sur Facebook
  • Partager sur Twitter

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

    4 juin 2019 à 11:41:29

    Bonjour à tous.

    Je suis au début du cours  ' Téléchargez et nettoyer les données'. Je n'arrive pas à avoir le tableau quand j'écris print(data) comme indiqué.

    J'ai bien installé et vérifier que python fonctionnait via une formule mathématique simple comme suggéré. J'ai bien importé dans un dossier sur Jupiter le code proprocessing ainsi que le fichier operations.csv issu du dossier de données de base donnée sur le site.

    Des idées ? merci.

    • Partager sur Facebook
    • Partager sur Twitter
      24 juin 2019 à 8:51:11

      Bonjour,

      c'est plutôt un retour qu'une question

      dans la partie

      Représentez la distribution empirique d'une variable,

      j'ai une erreur dans la mise en forme graphique des données:

      import matplotlib.pyplot as plt
      import pandas as pd
      from collections import Counter
      
      
      
      data = pd.read_csv("operations_enrichies.csv", parse_dates=[1,2], sep=",", decimal=",", dayfirst=True)
      #print (data)
      print ("Début des mise ne forme")
      
      # VARIABLE QUALITATIVE
      # Diagramme en secteurs
      data["categ"].value_counts(normalize=True).plot(kind='pie')
      print ("CHargement des catégories de dépenses")
      # Cette ligne assure que le pie chart est un cercle plutôt qu'une éllipse
      plt.axis('equal') 
      #plt.show() # Affiche le graphique
      
      # Diagramme en tuyaux d'orgues
      data["categ"].value_counts(normalize=True).plot(kind='bar')
      #plt.show()
      
      # VARIABLE QUANTITATIVE
      # Diagramme en bâtons
      data["quart_mois"].value_counts(normalize=True).plot(kind='bar',width=0.1)
      #plt.show()
      
      # Histogramme
      data["montant"].hist(density=True)
      #plt.show()
      # Histogramme plus beau
      data[data.montant.abs() < 100]["montant"].hist(density=True,bins=20)
      plt.show()


      Avec l'erreur :

       TypeError: bad operand type for abs(): 'str'

      En y regardant de plus près , l'erreur semble venir de la dernière partie:

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

      Me disant qu'on ne peut pas faire la valeur absolue d'un string (normal), j'essaye de convertir la donnée préalablement en 'int'.

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

      Mais j'ai une erreur :

      TypeError: cannot convert the series to <class 'int'>

      J'y comprend que la conversion d'un objet en 'int' n'est pas possible parce qu'il s'agit d'un objet,  j'essaye donc de convertir la partie de l'objetpar astype(int) que trouvé sur un site

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

      Cette fois j'ai une erreur plus facile à comprendre

      ValueError: invalid literal for int() with base 10: '7.5'

      J'y comprend que ce n'est pas un 'int' mais un 'float' puisqu'il y a une virgule dans le nombre

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

      BINGO CA MARCHE !!

      A toute fins utiles, bon codage à tous

      • Partager sur Facebook
      • Partager sur Twitter
        25 juin 2019 à 17:42:21

        Rebonjour,

        pas beaucoup d'activité sur ce forum mais comme il s'agit toujours de ce cours, à moins que je ne me trompe, je rajoute un message.

        for cat in data["categ"].unique():
            subset = data[data.categ == cat]
            print("-"*20)
            print(cat)
            print("moy:\n",subset['montant'].mean())
            print("med:\n",subset['montant'].median())
            print("mod:\n",subset['montant'].mode())
            print("var:\n",subset['montant'].var(ddof=0))
            print("ect:\n",subset['montant'].std(ddof=0))
            subset["montant"].hist()
            plt.show()
            subset.boxplot(column="montant", vert=False)
            plt.show()

        avec cela j'ai une erreur de type :

        KeyError: "None of [Index(['montant'], dtype='object')] are in the [columns]"

        J'ai pu résoudre ce problème de la sorte :

        plt.boxplot(subset['montant'].astype(float), vert=False)

        Voilà si ça peut servir


        • Partager sur Facebook
        • Partager sur Twitter
          29 juillet 2019 à 13:58:34

          Bonjour cher tous.

          J'ai une inquiètude sur les données manquantes. Au faite, dans le cours, le prof s'est appuyer sur un jeu de données toute petite c'est a dire qui ne contient pas assez d'individu et donc il est facile ici de detecter nos variables qui contiennent des données manquantes.

          J'ai decouvert que pour savoir les colonnes qui ont des données manquantes, il faut faire "data.isnull().sum()". data represente la variable dont nous avons stocker notre dataset.

          Maintenant j'aimerais savoir comment detecter les lignes qui contiennent des données manquantes. J'ai essayé de creer un sous-echantillon qui contiendrait les données qui manquent de valeurs mais sans succes.

          Merci de bien vouloir m'eclaircir ce point.

          • Partager sur Facebook
          • Partager sur Twitter
            30 juillet 2019 à 23:17:29

            Bonjour,

            Je rencontre cette erreur quand j'essaye de mettre mes données au bon format.

            ---------------------------------------------------------------------------
            TypeError                                 Traceback (most recent call last)
            <ipython-input-59-d7f006edafff> in <module>
                 64 last_val = balance[-1]
                 65 balance = [0] + balance[:-1]
            ---> 66 balance = balance - last_val + LAST_BALANCE
                 67 data["solde_avt_ope"] = balance
                 68 
            
            TypeError: unsupported operand type(s) for -: 'list' and 'str

            Je mouline sans trouver de solution

            Merci de  votre aide

            • Partager sur Facebook
            • Partager sur Twitter
              1 août 2019 à 11:26:54

              Bonjour,

              S'il vous plait comment installer Anaconda sous Windows 10? J'y arrive pas depuis.

              Merci

              • Partager sur Facebook
              • Partager sur Twitter
                12 août 2019 à 23:48:52

                Wouhou y'a quelqu'un ?


                julien1872 a écrit:

                Bonjour,

                Je rencontre cette erreur quand j'essaye de mettre mes données au bon format.

                ---------------------------------------------------------------------------
                TypeError                                 Traceback (most recent call last)
                <ipython-input-59-d7f006edafff> in <module>
                     64 last_val = balance[-1]
                     65 balance = [0] + balance[:-1]
                ---> 66 balance = balance - last_val + LAST_BALANCE
                     67 data["solde_avt_ope"] = balance
                     68 
                
                TypeError: unsupported operand type(s) for -: 'list' and 'str

                Je mouline sans trouver de solution

                Merci de  votre aide



                • Partager sur Facebook
                • Partager sur Twitter
                  15 octobre 2019 à 15:30:35

                  Bonjour Nicolas et cher(e)s collègues,

                  Je suis sur le Parcours DA depuis le mois d'août....

                  Tout d'abord merci pour ton cours qui nous donne énormément de précisions, mais me concernant j'ai besoin de plus sur la Courbe de Lorenz ;)

                  Car généralement les explications sur le web se rapportent toujours à la répartition des richesse d'un Pays, ça ok j'ai capté le truc...

                  Mais j'ai un doute sur la compréhension de la Courbe de Lorenz dans le cadre analyse business.

                  En quelques mots, c'est une représentation graphique permettant de visualiser la distribution d'une variable au sein d'une population.

                  Mais comment doit-on nommer l'abscisse et l'ordonnée ?

                  Par exemple, sur le projet 4 si je réalise une courbe de Lorenz sur la variable "prix" (dans le cadre de la vente de produits culturels chez un retailer),

                  en mettant pour abscisse "Prix produits" et comme ordonnée "Fréquence cumulée des ventes", suis-je pertinent ?

                  Autre question, pouvons-nous faire une courbe de Lorenz avec par exemple avec en x la variable "âge clients" et y "prix paniers moyens" ?

                  Normalement non, mais comme on me la suggéré je souhaiterais vérifier si c'est vraiment réalisable.

                  Moi je pense que nous pouvons faire une courbe de Lorenz sur la variable "âge clients", avec en x "Âges clients" et en y "Cumule des âges " 

                  Merci d'avance pour votre aide !

                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 novembre 2019 à 2:03:43

                    Bonjour,  j'ai un problème à la lecture de mon fichier .cvs, ne pouvant pas récup mes relevés de comptes qu'en pdf je les ai telecharger en pdf puis enregistré en .txt et ensuite en .csv .  

                    voici mes codes et les erreurs qui s'affichent:

                    import pandas as pd 
                    data=pd.read_csv("C:/Users\Barbara/Desktop/Raph/MOOC/Nettoyer_jeu_donnees/operations.csv", header = True , sep = ";", dec = ",")
                    data
                    ---------------------------------------------------------------------------
                    TypeError                                 Traceback (most recent call last)
                    <ipython-input-5-e57fd1a30e59> in <module>
                     1 import pandas as pd
                    ----> 2data=pd.read_csv("C:/Users\Barbara/Desktop/Raph/MOOC/Nettoyer_jeu_donnees/operations.csv", header = True , sep = ";", dec = ",")
                     3 data
                    
                    TypeError: parser_f() got an unexpected keyword argument 'dec'
                    J'ai bien vérifié mon document ça donne bien un tableur séparé en colonnes par des ";" où les "," sont pour les nb décimaux. 
                    Je me suis dit peut-être que python interprète mal les dates "10/09/2019" donc je me suis dit je vais  spécifié la  colonne date... Mais voilà 
                    import pandas as pd 
                    data=pd.read_csv("C:/Users\Barbara/Desktop/Raph/MOOC/Nettoyer_jeu_donnees/operations.csv",parse_dates=[0], dayfirst=True, header = True , sep = ";", dec = ",")
                    data
                    TypeError                                 Traceback (most recent call last)
                    <ipython-input-7-d690a72f4d6e> in <module>
                     1 import pandas as pd
                    ----> 2data=pd.read_csv('C:/Users/Barbara/Desktop/Raph/MOOC/nettoyer_jeu_donnees/operations.csv', parse_dates=[0],dayfirst=True , header = True, sep = ';', dec=',')
                     3 data
                    
                    TypeError: parser_f() got an unexpected keyword argument 'dec'
                    Peut-être que le problème ne vient pas de là mais du coup je sais pas trop...
                    voici un extrait de mon fichier, mon bloc note .txt
                    DATE ;LIBELLE;DEBIT; CREDIT ;
                    09/05/2019; VERSEMENT ;;51,81;
                    09/05/2019;CB RETRAIT DU  GAB TOURS GIRAUD;50;;
                    09/05/2019;PRLV SEPA HFP -HARMONIE FONCTION PUBLIQUE 10 05 19;32,54;;
                    10/05/2019;CB BRETON BREWING C ;4,2; ;
                    10/05/2019;CB BRETON BREWING C ;4,2; ;
                    10/05/2019;CB BRETON BREWING C 09 05 19 10 05 19;6; ;
                    10/05/2019;CB BRETON BREWING C 09 05 19 10 05 19;8; ;
                    10/05/2019;CB LE BERGERAC 09 05 19 10 05 19;8,6;; 
                    10/05/2019;CB PASTA DI MAMA 09 05 19 10 05 19;9;;
                    13/05/2019;CB LA COQUINIERE 10 05 19 13 05 19;4,6;;
                    13/05/2019;CB RELAY 341842SC 12 05 19 13 05 19;8,6;;
                    13/05/2019;CB LE DU BELLAY 10 05 19 13 05 19;8,6;;
                    13/05/2019;CB RETRAIT DU 11 05 TOURS RABELAIS 1 13 05 19;60;;
                    14/05/2019;CB PIZZAGELO 13 05 19 14 05 19;7,5;;
                    15/05/2019;CB AUCHAN SUPER SC 14 05 1915 05 19;8,47;;
                    15/05/2019;CB RETRAIT DU 14 05 TOURS COLBERT FRAIS RETRAIT  15 05 19;31,05;;
                    16/05/2019;CB SPEED BURGER 15 05 19 16 05 19;16,4;;
                    16/05/2019;CB LE DU BELLAY 15 05 19 16 05 19;8,6;;
                    17/05/2019;CB SPEED BURGER 16 05 19 17 05 19;17;;
                    17/05/2019;CB GIRAUDEAU MARKET 16 05 19 17 05 19;1,5;; 
                    et  .csv (j'ai vérifié et revérifié  il n'y a aucune cellules vides, ni de ","   ";"  ou    "." dans la colonnes libellé)

                    Si quelqu'un pouvait m'aider, je ne comprends pas trop les deux erreurs indiquées par python 

                    Merci bien

                    -
                    Edité par RaphaëlBitoun 3 novembre 2019 à 2:05:28

                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 novembre 2019 à 7:27:05

                      Bonjour,

                      le problème vient de tes paramètres dans la lecture du CSV.

                      Python te dis exactement ce qui ne vas pas ici:

                      TypeError: parser_f() got an unexpected keyword argument 'dec'

                       le type d'erreur: parser_f(), autrement dit la fonction qui lit et traite un fichier

                      got an unexpected keyword argument: autrement dit dans les arguments que tu as mis, il y en a un qu'il ne reconnait pas.

                      'dec' : c'est exactement celui là qu'il ne connait pas.

                      Si on regarde de plus près ton code:

                      data=pd.read_csv("C:/Users\Barbara/Desktop/Raph/MOOC/Nettoyer_jeu_donnees/operations.csv", header = True , sep = ";", dec = ","

                      tu as mis pour argument:
                      - le fichier
                      - le header
                      - le caractère de séparation
                      - ce que tu penses être l'argument de définition des nombres décimaux 'dec'
                      Cependant un petit tour dans la documentation de la fonction pd.read_csv (puisque c'est celle là que tu appelles) nous indique toutles arguments possible et notamment :

                      decimal : str, default ‘.’

                      Character to recognize as decimal point (e.g. use ‘,’ for European data).

                      Autrement dit pour définir le séparateur décimal il faut utilisé le mot clef 'decimal' et non 'dec' comme tu l'as fait.

                      Essai donc de changer les 'dec' par des 'decimal', je pense que ça devrait régler ton problème

                      pour information, la doc sur pd.read_csv: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 novembre 2019 à 15:19:22

                        Bonjour merci pour la réponse.

                        J'ai un petit problème pour la dernière étape pour la colonne jour_sem 

                        #Creation des autres variables :
                        data["annee"] = data["date_operation"].map(lambda d: d.year)
                        data["mois"] = data["date_operation"].map(lambda d: d.month)
                        data["jour"] = data["date_operation"].map(lambda d: d.day)
                        data["jour_sem"] = data["date_operation"].map(lambda d: d.day_name)
                        data["jour_sem_num"] = data["date_operation"].map(lambda d: d.weekday()+1)
                        data["weekend"] = data["jour_sem"].isin(WEEKEND)
                        data["quart_mois"] = [int((jour-1)*4/31)+1 for jour in data["jour"]]
                        
                        print(data[:10])
                           date_operation                                    libelle  montant  \
                        0      2019-05-09                                  VERSEMENT    51.81   
                        1      2019-05-09            CB RETRAIT DU  GAB TOURS GIRAUD   -50.00   
                        2      2019-05-09  PRLV SEPA HFP HARMONIE FONCTION PUBLIQUE    -32.54   
                        3      2019-05-10                       CB BRETON BREWING C     -4.20   
                        4      2019-05-10                       CB BRETON BREWING C     -4.20   
                        5      2019-05-10                       CB BRETON BREWING C     -6.00   
                        6      2019-05-10                        CB BRETON BREWING C    -8.00   
                        7      2019-05-10                            CB LE BERGERAC     -8.60   
                        8      2019-05-10                          CB PASTA DI MAMA     -9.00   
                        12     2019-05-13                CB RETRAIT  TOURS RABELAIS    -60.00   
                        
                            solde_avt_ope       categ            type    tranche_depense    sens  \
                        0          332.64       AUTRE        VIREMENT  (pas une dépense)  credit   
                        1          384.45     RETRAIT         RETRAIT             grosse   debit   
                        2          334.45   ASSURANCE     PRELEVEMENT             grosse   debit   
                        3          301.91     SORTIES  CARTE BANCAIRE            moyenne   debit   
                        4          297.71     SORTIES  CARTE BANCAIRE            moyenne   debit   
                        5          293.51     SORTIES  CARTE BANCAIRE            moyenne   debit   
                        6          287.51     SORTIES  CARTE BANCAIRE            moyenne   debit   
                        7          279.51  CIGARETTES  CARTE BANCAIRE            moyenne   debit   
                        8          270.91       REPAS  CARTE BANCAIRE            moyenne   debit   
                        12         261.91     RETRAIT         RETRAIT             grosse   debit   
                        
                            annee  mois  jour                                           jour_sem  \
                        0    2019     5     9  <bound method Timestamp.day_name of Timestamp(...   
                        1    2019     5     9  <bound method Timestamp.day_name of Timestamp(...   
                        2    2019     5     9  <bound method Timestamp.day_name of Timestamp(...   
                        3    2019     5    10  <bound method Timestamp.day_name of Timestamp(...   
                        4    2019     5    10  <bound method Timestamp.day_name of Timestamp(...   
                        5    2019     5    10  <bound method Timestamp.day_name of Timestamp(...   
                        6    2019     5    10  <bound method Timestamp.day_name of Timestamp(...   
                        7    2019     5    10  <bound method Timestamp.day_name of Timestamp(...   
                        8    2019     5    10  <bound method Timestamp.day_name of Timestamp(...   
                        12   2019     5    13  <bound method Timestamp.day_name of Timestamp(...   
                        
                            jour_sem_num  weekend  quart_mois  
                        0              4    False           2  
                        1              4    False           2  
                        2              4    False           2  
                        3              5    False           2  
                        4              5    False           2  
                        5              5    False           2  
                        6              5    False           2  
                        7              5    False           2  
                        8              5    False           2  
                        12             1    False           2  

                        et à l'enregistrement dans les cellules de la colonne jour_sem sur le fichier .csv 

                        <bound method Timestamp.day_name of Timestamp('2019-05-09 00:00:00')>

                        du coup la colonne weekend est toujours FALSE. Quelqu'un peut m'indiquer d'où provient le problème?

                        Merci



                        -
                        Edité par RaphaëlBitoun 6 novembre 2019 à 15:50:04

                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 novembre 2019 à 17:39:14

                          Bonjour,

                          je vois que tu as mis:

                          data["jour_sem"] = data["date_operation"].map(lambda d: d.day_name)
                          or dans les autres lignes le format après le lambda est de type d.day.VARIABLE
                          essaye avec le code suivant à la place:
                          data["jour_sem"] = data["date_operation"].map(lambda d: d.day.name)
                          J'ai juste remplacé le underscore par un point comme sur les autres arguments
                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 novembre 2019 à 14:58:29

                            Bonjour j'ai effectivement recopié le code day_name comme dans le cours. 

                            Quand j'essaye avec ta modif d.d.day.name :

                            # Creation des autres variables
                            data["annee"] = data["date_operation"].map(lambda d: d.year)
                            data["mois"] = data["date_operation"].map(lambda d: d.month)
                            data["jour"] = data["date_operation"].map(lambda d: d.day)
                            data["jour_sem"] = data["date_operation"].map(lambda d: d.day.name)
                            data["jour_sem_num"] = data["date_operation"].map(lambda d: d.weekday()+1)
                            data["weekend"] = data["jour_sem"].isin(WEEKEND)
                            data["quart_mois"] = [int((jour-1)*4/31)+1 for jour in data["jour"]]
                            
                            print(data[:10])
                            ---------------------------------------------------------------------------
                            AttributeError                            Traceback (most recent call last)
                            <ipython-input-23-3967a41e30c3> in <module>
                             3 data["mois"] = data["date_operation"].map(lambda d: d.month)
                             4 data["jour"] = data["date_operation"].map(lambda d: d.day)
                            ----> 5data["jour_sem"] = data["date_operation"].map(lambda d: d.day.name)
                             6 data["jour_sem_num"] = data["date_operation"].map(lambda d: d.weekday()+1)
                             7 data["weekend"] = data["jour_sem"].isin(WEEKEND)
                            
                            ~\Anaconda3\lib\site-packages\pandas\core\series.py in map(self, arg, na_action)
                             3823         dtype: object
                             3824         """
                            -> 3825new_values = super()._map_values(arg, na_action=na_action)
                             3826         return self._constructor(new_values, index=self.index).__finalize__(self)
                             3827 
                            
                            ~\Anaconda3\lib\site-packages\pandas\core\base.py in _map_values(self, mapper, na_action)
                             1298 
                             1299         # mapper is a function
                            -> 1300new_values = map_f(values, mapper)
                             1301 
                             1302         return new_values
                            
                            pandas\_libs\lib.pyx in pandas._libs.lib.map_infer()
                            
                            <ipython-input-23-3967a41e30c3> in <lambda>(d)
                             3 data["mois"] = data["date_operation"].map(lambda d: d.month)
                             4 data["jour"] = data["date_operation"].map(lambda d: d.day)
                            ----> 5data["jour_sem"] = data["date_operation"].map(lambda d: d.day.name)
                             6 data["jour_sem_num"] = data["date_operation"].map(lambda d: d.weekday()+1)
                             7 data["weekend"] = data["jour_sem"].isin(WEEKEND)
                            
                            AttributeError: 'int' object has no attribute 'name'

                            J'ai recherché sur interne et j'ai remplacé par  weekday_name:

                            data["jour_sem"] = data["date_operation"].map(lambda d: d.weekday_name)

                            et cela marche correctement même si j'ai ce message.

                            C:\Users\Barbara\Anaconda3\lib\site-packages\ipykernel_launcher.py:5: FutureWarning: `weekday_name` is deprecated and will be removed in a future version. Use `day_name` instead
                              """



                            -
                            Edité par RaphaëlBitoun 7 novembre 2019 à 15:11:44

                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 novembre 2019 à 14:18:40

                              Bonjour, je suis bloqué un peu plus loin dans le chapitre, au moment de créer la variable 'attente'.

                              Quand je rentre le code du cours, voici le message d'erreur :

                              import datetime as dt
                              
                              # Selection du sous-échantillon
                              courses = data[data.categ == "COURSES"]
                              
                              # On trie les opérations par date
                              courses = courses.sort_values("date_operation")
                              
                              # On ramène les montants en positif
                              courses["montant"] = -courses["montant"]
                              
                              # calcul de la variable attente
                              r = []
                              last_date = dt.datetime.now()
                              for i,row in courses.iterrows():
                                  days = (row["date_operation"]-last_date).days
                                  if days == 0:
                                      r.append(r[-1])
                                  else:
                                      r.append(days)
                                  last_date = row["date_operation"]
                              courses["attente"] = r
                              courses = courses.iloc[1:,]
                              
                              # on regroupe les opérations qui ont été effectués à la même date
                              # (courses réalisées le même jour mais dans 2 magasins différents)
                              a = courses.groupby("date_operation")["montant"].sum()
                              b = courses.groupby("date_operation")["attente"].first()
                              courses = pd.DataFrame({"montant":a, "attente":b})
                              ---------------------------------------------------------------------------
                              TypeError                                 Traceback (most recent call last)
                              <ipython-input-13-e83bdac1c1d1> in <module>
                               14 last_date = dt.datetime.now()
                               15 for i,row in courses.iterrows():
                              ---> 16days = (row["date_operation"]-last_date).days
                               17     if days == 0:
                               18         r.append(r[-1])
                              
                              TypeError: unsupported operand type(s) for -: 'str' and 'datetime.datetime'

                              Quelqu'un peut-il m'expliquer ce message d'erreur? 

                              Est_ce lié au fait que last_date  prenne ces valeurs :

                              last_date = dt.datetime.now()
                              print(last_date)
                              2019-11-11 14:56:41.562563

                              Tandis que les valeurs contenues dans 'date_operation" prennent cette forme : 

                              2019-05-08 sans l'heure et les secondes à coté?.

                              Merci

                              -
                              Edité par RaphaëlBitoun 11 novembre 2019 à 14:59:30

                              • Partager sur Facebook
                              • Partager sur Twitter
                                13 novembre 2019 à 14:47:16

                                Bonjour, 

                                J'ai réussi à résoudre le problème en modifiant un peu le code du cours comme ceci : 

                                import datetime as dt
                                
                                # Selection du sous-échantillon
                                courses = data[data.categ == "COURSES"]
                                
                                # On trie les opérations par date
                                courses = courses.sort_values("date_operation")
                                
                                # On ramène les montants en positif
                                courses["montant"] = -courses["montant"]
                                
                                # calcul de la variable attente
                                r = []
                                last_date = (dt.date.today())
                                for i,row in courses.iterrows():
                                    date_string = (row['date_operation'])
                                    my_date=dt.date.fromisoformat(date_string)
                                    days= (my_date - last_date).days
                                    if days == 0:
                                        r.append(r[-1])
                                    else:
                                        r.append(days)
                                    last_date=my_date
                                courses["attente"] = r
                                courses = courses.iloc[1:,]
                                
                                # on regroupe les opérations qui ont été effectués à la même date
                                # (courses réalisées le même jour mais dans 2 magasins différents)
                                a = courses.groupby("date_operation")["montant"].sum()
                                b = courses.groupby("date_operation")["attente"].first()
                                courses = pd.DataFrame({"montant":a, "attente":b})
                                courses
                                
                                import statsmodels.api as sm
                                import numpy as np
                                Y = courses['montant']
                                X = courses[['attente']]
                                X = X.copy() # On modifiera X, on en crée donc une copie
                                X['intercept'] = 1.
                                result = sm.OLS(Y, X).fit() # OLS = Ordinary Least Square (Moindres Carrés Ordinaire)
                                a,b = result.params['attente'],result.params['intercept']
                                
                                # afficher la droite de regression (Y=a.X+B+e)
                                plt.plot(courses.attente, courses.montant, "o") # affiche le diagramme de dispersion
                                plt.plot(np.arange(15),[a*x+b for x in np.arange(15)]) #np.arrange(15) créé une liste de nombres entiers allant de 0 à 14. Pour chacune de ces 15 valeurs
                                #on calcule les coordonnées grâce à la formule [a*x+b for x in np.arange(15)]. On vient donc de crééer une série de points tous alignés sur la droite d'équartion y=ax+b, la ligne 2 affiche tous ces points, en les rilants entre eux
                                plt.xlabel('attente')
                                plt.ylabel('montant')
                                plt.show()
                                print("a = ", a)
                                print("b = ", b)

                                Ce qui me donne :



                                Petite question ? Etant donné que la droite est décroissante, est ce qu'il y a un problème avec mon code ? 

                                Autre question est ce normal que la droite ne se prolonge pas jusqu'au dernier point? Est-ce une valeur aberrante? Si oui comment pourrais-je coder pour enlever cette valeur (ce n'est pas la ligne suivante qui est censée enlever les valeurs aberrantes?)

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

                                Merci

                                -
                                Edité par RaphaëlBitoun 13 novembre 2019 à 17:53:38

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  28 novembre 2019 à 17:37:21

                                  Bonjour.

                                  Est-il possible d'avoir une explication sur une portion de code du chapitre "Téléchargez les données" ?

                                  Code fourni pour le calcul de la variable solde_avt_op :

                                  # creation de la variable 'solde_avt_ope'
                                  data = data.sort_values("date_operation")
                                  amount = data["montant"]
                                  balance = amount.cumsum()
                                  balance = list(balance.values)
                                  last_val = balance[-1]
                                  balance = [0] + balance[:-1]
                                  balance = balance - last_val + LAST_BALANCE
                                  data["solde_avt_ope"] = balance

                                  Que fait exactement cette ligne (notamment l'utilisation de [0]):

                                  balance = [0] + balance[:-1]

                                   Merci pour l'aide.

                                  Jérome

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 janvier 2020 à 22:55:12

                                    Bonjour Je voulais savoir s'il y avait une fonction permettant de calculer la fonction de répartition empirique ?

                                    Je l'ai calculée de la façon suivante mais peut être qu'il existe plus simple/efficace ?

                                    y = data[data.montant.abs() &lt; 100].montant
                                    y_sort = np.sort(y)
                                    
                                    nbins = 20
                                    x = np.linspace(y.min(), y.max(), nbins)
                                    F_emp = [np.argmax(y_sort &gt; xi) for xi in x]
                                    

                                    Merci

                                    -
                                    Edité par ladgalen 23 janvier 2020 à 22:56:29

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      5 mars 2020 à 11:10:10

                                      Hello,

                                      Tout au long du cours, je dois toujours rajouter 

                                      .astype(float)

                                      pour chaque donnée lors d'une opération par exemple :

                                      print(st.pearsonr( depenses["solde_avt_ope"].astype(float), - depenses["montant"].astype(float))[0])
                                      


                                      Y a t'il une solution, un réglage à faire sur Anaconda ?

                                      Merci pour un conseil.

                                      ps:: En relisant les reply, je vous conseille, car il ya beaucoup de probléme de dtype, de suivre les vidéos de Data School sur Pandas (https://www.youtube.com/watch?v=yCgJGsg0Xa4&list=RDCMUCnVzApLJE2ljPZSeQylSEyg&start_radio=1&t=69)

                                      pour RaphaëlBitoun, trés bonne solution mais il y a plus simple, retyper 'date_operation' :

                                      data['date_operation'] = pd.to_datetime(data.date_operation)

                                      :)

                                      -
                                      Edité par lvdesign 5 mars 2020 à 19:14:00

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        29 mars 2020 à 13:29:43

                                        Bonjour.J' ai du mal à installer anaconda sur un windows 10; pouvez vous m'aidez?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          25 avril 2020 à 14:13:12

                                          tdupouy a écrit:

                                          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


                                          Bonjour,

                                          J'ai rencontré le même problème, alors voici une astuce à essayer pour ceux qui sont bloqués à cause du message suivant lors de la création de operations_enrichies.csv :
                                          ---------------------------------------------------------------------------
                                          TypeError                                 Traceback (most recent call last)
                                          <ipython-input-6-6c9a00e3492c> in <module>
                                           27 last_val = balance[-1]
                                           28 balance = [0] + balance[:-1]
                                          ---> 29balance = balance - last_val + LAST_BALANCE
                                           30 data["solde_avt_ope"] = balance
                                           31 
                                          
                                          TypeError: unsupported operand type(s) for -: 'list' and 'str'
                                          

                                          Ici, last_val est une chaîne de caractère ('str') et ne peut donc pas être retranchée de la liste balance.
                                          Le problème vient en fait de amount, qui correspond à votre colonne "montant", à partir de laquelle sont produites balance puis last_val.
                                          Si dans la colonne "montant" de votre fichier operations.csv contient des espaces (par exemple -1 000.00), il semblerait que pandas transforme -1 000.00 en chaîne de caractères "-1 000.00", ce qui donne au final le problème indiqué.
                                          Pour l'éviter, je propose 2 recommandations qui ont fonctionné pour moi :
                                             - Supprimer les espaces si il y en a dans vos montants, par exemple en utilisant la fonction Rechercher/Remplacer d'un éditeur de texte directement sur votre fichier operations.csv
                                             - Essayer de transformer les 'str' en 'float' en modifiant la ligne suivante
                                                 amount = data["montant"]   ->  amount = data["montant"].astype('float')

                                          -
                                          Edité par JordanMolet 25 avril 2020 à 14:21:13

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            16 mai 2020 à 6:17:54

                                            Bonjour Nicolas,

                                            J'ai rencontré un problème en tapant anaconda-navigator

                                            (base) abdou@abdou-PC:~$ anaconda-navigator
                                            QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-abdou'
                                            qt.qpa.screen: QXcbConnection: Could not connect to display
                                            Could not connect to any X display.

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              19 août 2020 à 9:14:45

                                              Bonjour Nicolas,

                                              J'ai terminé le TP "Entraînez-vous à réaliser des analyses bivariées".

                                              Vous indiquez "Pour vous entraîner, réalisez cet exercice étape par étape. Une fois terminé, vous pouvez comparer votre travail avec les pistes que je vous propose." 

                                              Où trouve-t-on ces pistes que je puisse voir si mes résultats sont corrects ?

                                              Merci,

                                              Charlotte

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                14 septembre 2020 à 15:26:00

                                                Bonjour,

                                                je n'arrive pas à télécharger le fichier Personnes pour le TP "nettoyez vos données en format csv. (je travaille sur un Mac, du coup il ressort en Numbers, la modification est peut-être simple mais je n'y arrive pas !)

                                                Serait-il possible de m'envoyer le fichier par mail afin que je puisse terminer le cours complètement?

                                                Merci,

                                                Cordialement,

                                                Delphine

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Delphine, étudiante assidue et motivée.

                                                  26 septembre 2020 à 23:14:24


                                                  Partie 1

                                                  concernant le code en python de la section "Découvrez les mesures de tendance centrale"

                                                  for cat in data["categ"].unique():
                                                      subset = data[data.categ == cat] # Création du sous-échantillon
                                                      print("-"*20)
                                                      print(cat)
                                                      print("moy:\n",subset['montant'].mean())
                                                      print("med:\n",subset['montant'].median())
                                                      print("mod:\n",subset['montant'].mode())
                                                      subset["montant"].hist() # Crée l'histogramme
                                                      plt.show() # Affiche l'histogramme


                                                  le code fourni en boucle for pourrait être amélioré et réduit ainsi:

                                                  data.groupby("categ")["montant"].agg({"moyenne": np.mean, "médiane": np.median, "mode": np.mode})

                                                  et même si on veut faire des print (avec autre formats), n utilisant un boucle for , on peut toujours utiliser:

                                                  for name, group in data.groupby("categ"):
                                                  
                                                        #bloc de code....
                                                  car tout simplement il suffit de tester 

                                                  %%timeit -n 10

                                                  sur le premier for (du cours)

                                                  et sur le 2ème for (for name, group in data.groupby("categ"):...)

                                                  Une énorme différence ( des secondes par loop dans le 1er for et des millisecondes pour le 2ème for..)


                                                  Partie 2

                                                  Juste pour ceux qui n'ont pas compris le fonctionnement de la fonction de Nicolas most_common_words, celle-ci  : je donne, si vous voulez

                                                  ce qui se passe "behind the scenes"

                                                  1-Ci-dessous la fonction de Nicolas:


                                                  from collections import Counter
                                                  
                                                  def most_common_words(labels):
                                                      words = []
                                                      for lab in labels:
                                                          words += lab.split(" ")
                                                      counter = Counter(words)
                                                      for word in counter.most_common(100):
                                                          print(word)
                                                  
                                                  most_common_words(data['libelle'].values)

                                                  2-Ce qui se passe behind the scenes (en code)

                                                  a)D'abord pour Counter (words) : "behind the scenes", voici ce qu'elle fait en code:

                                                  counter={}
                                                  for word in words:
                                                      if word in counter:
                                                          counter[word]+=1
                                                      else:
                                                          counter[word]=1
                                                  #ou aussi
                                                  for word in words:
                                                      if word not in counter:
                                                          counter[word]=0
                                                      counter[word]+=1


                                                  b) pour "
                                                  for word in counter.most_common(100):
                                                          print(word)", voici, ce qui passe behind the scenes:

                                                  liste1=[]
                                                  liste2=[]
                                                  for k,value in counter.items():
                                                      liste1.append(k)
                                                      liste2.append(value)
                                                  liste=list(zip(liste1,liste2))
                                                  
                                                  liste2= sorted(liste, key=lambda x: x[1],reverse=True)
                                                  for item in liste2[:101]:
                                                      print(item)
                                                  
                                                  #liste2[:101]: juste pour se conformer au code de Nicolas(bien qu'ils sont moins de 100 items mais ça donne pas Traceback...):
                                                  
                                                  #bien sûr ici counter (et le dictionnaire que j'ai crée en point a), ci dessus)

                                                  Partie 3

                                                  pour le fichier data, qu'on a éxporté en csv (dernière ligne de commande: celle-ci:)

                                                  data.to_csv("operations_enrichies.csv",index=False)

                                                  avant de l'exporter, on peut encore améliorer la colonne "jour_sem_num", en ajoutant les noms réels de la semaine  en français même si on veut (lundi, etc.), voici le code correspond:

                                                  dict_jours= {"Lundi":1, "Mardi":2, "Mercredi":3, "Jeudi":4, "Vendredi":5, "Samedi":6, "Dimanche":7}
                                                  series_jours=[]
                                                  for row in data["jour_sem_num"].values:
                                                      for k,val in dict_jours.items():
                                                          if val == row:
                                                              new_row= k
                                                      series_jours.append(new_row)
                                                  data["jour_sem_num"]= pd.Series(data=series_jours)
                                                  data.rename(columns={"jour_sem_num":"jour_semaine"}, inplace=True)






                                                  -
                                                  Edité par Abir ELTAIEF 27 septembre 2020 à 15:10:01

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    2 octobre 2020 à 18:20:06

                                                    Bonjour, j'ai installer anaconda en suivant ce tuto :https://openclassrooms.com/fr/courses/4452741-decouvrez-les-librairies-python-pour-la-data-science/5559646-installez-jupyter-sur-votre-propre-ordinateur

                                                    ça a marché et j'arrive a lancer jupyter notebook et exécuter du code en faisant des appel a la bibliothèque matplotlib sans aucun soucis donc tout fonctionne bien. 

                                                    maintenant je voulais travailler avec tensorflow donc j'ai essayé de l'installer sur le terminal dédié a anaconda (Anconda prompt) en tant que ADMINISTRATEUR j'ai tapé conda install tensorflow il ne voulait car il me dit que tensorflow nécessite python 3.7|3.6|3.5 et moi j'avais 3.8 ,

                                                    donc j'ai installé python 3.7 : conda install python=3.7 et puis conda install tensorflow . ça a marché mais maintenant j'ai cette erreur que je comprend pas du tout : 

                                                    ImportError: Module use of python37.dll conflicts with this version of Python.

                                                    l'erreur en entier :
                                                    ---------------------------------------------------------------------------
                                                    ImportError                               Traceback (most recent call last)
                                                    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in <module>
                                                     57 
                                                    ---> 58from tensorflow.python.pywrap_tensorflow_internal import *
                                                     59   from tensorflow.python.pywrap_tensorflow_internal import __version__
                                                    
                                                    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in <module>
                                                     27             return _mod
                                                    ---> 28_pywrap_tensorflow_internal = swig_import_helper()
                                                     29     del swig_import_helper
                                                    
                                                    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in swig_import_helper()
                                                     23             try:
                                                    ---> 24_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
                                                     25             finally:
                                                    
                                                    ~\anaconda3\lib\imp.py in load_module(name, file, filename, details)
                                                     241         else:
                                                    --> 242return load_dynamic(name, filename, file)
                                                     243     elif type_ == PKG_DIRECTORY:
                                                    
                                                    ~\anaconda3\lib\imp.py in load_dynamic(name, path, file)
                                                     341             name=name, loader=loader, origin=path)
                                                    --> 342return _load(spec)
                                                     343 
                                                    
                                                    ImportError: Module use of python37.dll conflicts with this version of Python.
                                                    
                                                    During handling of the above exception, another exception occurred:
                                                    
                                                    ImportError                               Traceback (most recent call last)
                                                    <ipython-input-3-84ac01e149dc> in <module>
                                                     2 import matplotlib.pyplot as plt
                                                     3 # Tensorflow
                                                    ----> 4import tensorflow as tf
                                                     5 # Numpy and Pandas
                                                     6 import numpy as np
                                                    
                                                    ~\anaconda3\lib\site-packages\tensorflow\__init__.py in <module>
                                                     32 
                                                     33 # pylint: disable=g-bad-import-order
                                                    ---> 34from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
                                                     35 from tensorflow.python.tools import module_util as _module_util
                                                     36 
                                                    
                                                    ~\anaconda3\lib\site-packages\tensorflow\python\__init__.py in <module>
                                                     47 import numpy as np
                                                     48 
                                                    ---> 49from tensorflow.python import pywrap_tensorflow
                                                     50 
                                                     51 # Protocol buffers
                                                    
                                                    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in <module>
                                                     72 for some common reasons and solutions.  Include the entire stack trace
                                                     73 above this error message when asking for help.""" % traceback.format_exc()
                                                    ---> 74raise ImportError(msg)
                                                     75 
                                                     76 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long
                                                    
                                                    ImportError: Traceback (most recent call last):
                                                      File "C:\Users\Ramzi\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
                                                        from tensorflow.python.pywrap_tensorflow_internal import *
                                                      File "C:\Users\Ramzi\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
                                                        _pywrap_tensorflow_internal = swig_import_helper()
                                                      File "C:\Users\Ramzi\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
                                                        _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
                                                      File "C:\Users\Ramzi\anaconda3\lib\imp.py", line 242, in load_module
                                                        return load_dynamic(name, filename, file)
                                                      File "C:\Users\Ramzi\anaconda3\lib\imp.py", line 342, in load_dynamic
                                                        return _load(spec)
                                                    ImportError: Module use of python37.dll conflicts with this version of Python.
                                                    
                                                    
                                                    Failed to load the native TensorFlow runtime.
                                                    
                                                    See https://www.tensorflow.org/install/errors
                                                    
                                                    for some common reasons and solutions.  Include the entire stack trace
                                                    above this error message when asking for help.

                                                     merci d'avance de votre aide je galère vraiment depuis ce matin.

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      9 novembre 2020 à 23:39:52

                                                      LamineGueye10 a écrit:

                                                      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

                                                      Je ne sais pas si c'est le même problème que j'ai rencontré mais si j'ai bien compris :

                                                      - le fichier .csv doit être dans le même dossier que celui où tu as enregistré le programme que tu es en train

                                                      - si c'est pas le cas, il faut préciser le chemin pour atteindree ce fichier .csv entre les " "

                                                      -------------------------------

                                                      Bonjour,

                                                      1) Dans la partie 4.4 sur la régression linéaire : je n'ai peut-être pas bien compris ce qu'est la variable 'attente', mais pourquoi on ne se contente pas en gros de faire 'date de l'operation - date de l'operation précédente' ? Je ne comprends pas trop la référence du coup à la date d'aujourd'hui ...

                                                      En plus, le fait que le relevé bancaire proposé est celui de 2023 rajoute de la confusion.

                                                      2) Par ailleurs, je confirme les problèmes de format dans le fichier operation_enrichies.csv,qui amènene à des erreurs de programmes :

                                                      en l'occurence, les dates ne sont pas en format date, et les montants sont des string ...

                                                      Merci

                                                      -
                                                      Edité par Pierre12345678910%% 9 novembre 2020 à 23:42:54

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        17 décembre 2020 à 10:28:37

                                                        Bonjour,

                                                        Concernant les différents types de moyenne, il me semble que le choix de l'exemple de la moyenne harmonique pourrait être plus judicieux. En effet, si les différentes vitesses correspondent à un trajet A/R (donc distances égales) la moyenne harmonique de la vitesse est égale à la moyenne arithmétique des vitesses, non?

                                                        Il faudrait peut-être donner un exemple avec des distances différentes.

                                                        En tout cas le contenu est excellent, très clair et concis!

                                                        Ibrahim.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          21 janvier 2021 à 16:34:22

                                                          Bonjour,

                                                          tout d'abord je vous remercie pour ce cours. Ma question concerne la construction de graphique de régression linéaire. J'obtiens des valeurs négatives sur l'axe "attente". D'où peux provenir ce problème ?

                                                          " -80 -60 -40 -20 0"

                                                          Merci d'avance,

                                                          Irina.

                                                          -
                                                          Edité par IrinaMaslowski 21 janvier 2021 à 16:35:47

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Дорогу осилит идущий

                                                            12 février 2021 à 13:59:42

                                                            Bonjour Irina,

                                                            Peux-tu nous partager ton code et ton graphique stp ?

                                                            Bonne journée,

                                                            Sébastien

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              26 février 2021 à 10:47:37

                                                              SébastienBourgeois a écrit:

                                                              Bonjour Irina,

                                                              Peux-tu nous partager ton code et ton graphique stp ?

                                                              Bonne journée,

                                                              Sébastien

                                                              Merci Sébastien, j'ai déjà trouvé que le problème venait de la façon à calculer l'attente.

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