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 :
La fonction pour comparer les valeurs :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
AutrementCode: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)
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 tableauxCode:++++++++ 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 ++++++++
Merci d'avance
-----