Bonjour !

Je pense avec un problème d'optimisation de mes boucles.

sachant que l_u et l_f peuvent attentre 800*3600, j'aimerai pourvoir faire mon calcul en moins de 10h comme je l'ai calculé

Avec vous une idée de comment optimiser cela ?

Merci !




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
user = N.array(map(int,d[:,0]))
folder = N.array(map(str,d[:,1]))
z = N.zeros_like(user)+1
 
folderlist = uniq(folder)
userlist = uniq(user)
l_f = len(folderlist)
l_u = len(userlist)
size = l_u*l_f
 
activity_count_user_folder = []
for i in range(0,l_f):
	print i, "out of ", len(folderlist)
	cond1=(folder==folderlist[i])*z
	activity_count_user = []
	for j in range(0,l_u):
		cond2 = (user==userlist[j])
		cm = cond1*cond2
		activity_count_user.append(cm.sum())
	activity_count_user_folder.append(activity_count_user)