comparer deux dataframe python
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

comparer deux dataframe python



  1. #1
    sam2022

    comparer deux dataframe python


    ------

    Bonjour communauté Futura
    J'éspère trouver de l'aide ici car je galère depuis un moment pour résoudre mon problème qui est comme suit :
    -génerer un nombre aléatoire des pandas dataframe avec des valeurs aléatoires
    -génerer un nombre aléatoire des autres pandas dataframe avec des valeurs aléatoires plus grandes que les premiers
    -parcourir la première liste des pandas et comparer ses valeurs avec la première pandas du deuxième liste etc...

    voilà mes fonctions :


    Code:
    import pandas as pd 
    import numpy as np 
    import random as rand
    
    
    def creationtab1():
       tabnumber = 3
       maliste = []
       for loop in range(tabnumber): 
          listetab = []
          ligneumber = 3
          lignename = str('tab' + str(loop +1))
          for loop in range(ligneumber):
             tb=[rand.randint(2,10),rand.randint(3,15),rand.randint(10,30),0]
             listetab.append(tb)       
          for loop in range(ligneumber):  
              numpyArray = np.array(listetab)   
              tab_df = pd.DataFrame(data = numpyArray[0:, 0:], 
                            index = ['ligne' + str(i + 1) + "_" + lignename
                            for i in range(numpyArray.shape[0])], 
                            columns = ['val1', 'val2', 'val3', 'val4'])
          maliste.append(tab_df)               
       return maliste
         
    
    
    def creationtab2():
       #print("######Mon deuxieme tableau###########")
       for loop in range(1): 
          listetab = []
          ligneumber = 2
          print("++++++++ Big Tab++++++++") 
          lignename = str('tab' + str(loop +1))
          for loop in range(ligneumber):
             bigtab=[rand.randint(1000,10000),rand.randint(2000,10000),rand.randint(2000,5000),1 ]
             listetab.append(bigtab)       
          for loop in range(ligneumber):  
              numpyArray = np.array(listetab)   
              panda_df = pd.DataFrame(data = numpyArray[0:, 0:], 
                            index = ['ligne' + str(i + 1) + "_" + lignename
                            for i in range(numpyArray.shape[0])], 
                            columns = ['val1', 'val2', 'val3', 'val4'])         
       return panda_df
    La fonction pour comparer les valeurs :
    Code:
    def comparer(bigTab,smallTab):
     print(bigTab)
     bigindex = bigTab.index
     #print(bigTab.describe())
     #print(bigindex)
     for ind in bigindex:
      valrb1 = bigTab.loc[ind, 'val1']
      valrb2 = bigTab.loc[ind, 'val2']
      valrb3 = bigTab.loc[ind, 'val3']
      valrb4 = bigTab.loc[ind, 'val4']
      print(valrb1) 
     i=0
     for pand in smallTab:
         #print(type(pand))   
         #print(len(smallTab))
         print("++++++++ Tab num:", i+1 ,"++++++++")    
         print(pand)
         smallindex = pand.index
         for li in smallindex:
          val1 =pand.loc[li,'val1']
          val2 =pand.loc[li,'val2']
          val3 = pand.loc[li,'val3']
          val4 = pand.loc[li,'val4']
          print(val1)
          print(val2)
          print(val3)
          print(val4)
     i+=1 
     if valrb1 > val1:
        print("la valb1 est: ",valrb1,val1)
    Autrement
    Code:
    ++++++++ Tab1 num: 1 ++++++++
                  Val1  val2  val3  val4
    ligne1_tab1      9     8    18     0
    ligne2_tab1      5     8    23     0
    ligne3_tab1      6     3    14     0
    ligne4_tab1      4    15    22     0
    ligne5_tab1      5    15    12     0
    ligne6_tab1      4    14    20     0
    ligne7_tab1      3     3    16     0
    ligne8_tab1     10     6    15     0
    ligne9_tab1      4     9    22     0
    ligne10_tab1     4     3    20     0
    ++++++++ Tab1 num: 2 ++++++++
                 Val1  val2  val3  val4
    ligne1_tab2     2    14    30     0
    ligne2_tab2     3     8    19     0
    ligne3_tab2     6     6    15     0
    ligne4_tab2     8     3    26     0
    ligne5_tab2     7     8    17     0
    ligne6_tab2     3     7    14     0
    ligne7_tab2     4    14    27     0
    ++++++++ Tab1 num: 3 ++++++++
    Mon objectif est d'acceder aux élements des tableaux(Tab1 num: 1,Tab1 num: 2 jusqua Tab1 num: n) élément par élement autrement je veux récuperer val1 du Tab1 num: 1 puis val2 du Tab1 num: 1 puis val3 du Tab1 num: 1 puis val4 du Tab1 num: 1 et la meme chose pour les autres tableaux
    Merci d'avance

    -----

  2. #2
    umfred

    Re : comparer deux dataframe python

    c'est quoi le problème en fait ? une erreur, un truc qui ne fonctionne pas ? (quelle réponse attendue ? quelle réponse obtenue?)

Discussions similaires

  1. Comparer deux nombres
    Par inviteb3cc9f06 dans le forum Mathématiques du collège et du lycée
    Réponses: 12
    Dernier message: 01/01/2010, 09h27
  2. Comparer deux nombres
    Par invitec56065da dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 09/11/2008, 17h13
  3. Comparer deux réels
    Par invite8591dbc2 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 04/11/2008, 17h44
  4. deux enseignements a comparer
    Par invitec35bc9ea dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 24/04/2006, 03h20
  5. deux cartes graphiques a comparer...
    Par invite244edd7e dans le forum Matériel - Hardware
    Réponses: 1
    Dernier message: 23/07/2005, 18h03