Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/06/2010, 22:22
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Diccionarios Dentro de Diccionarios

????? Tratando de leer el código, corrigiendole errores, identanlodo correctamente, creo que lo mejor sera preguntarte.

1.- Cual es el problema en el código?
2.- Que problema estas tratando de resolver? (a la mejor existe otra manera es mas fácil de resolverlo que usando varios diccionarios anidados en listas)
3.- Si fueras mas concreto en las preguntas te resolvería mas rápido el problema.

Aquí dejo el código algo corregido:
Código Python:
Ver original
  1. def entropy(self, column, values ):
  2.         entropyValue = 0.0
  3.         frequency = {}
  4.         index = 0
  5.         data = self.mixColumn(column,values)
  6.         namesClass = self.getTargetNames(values)
  7.         for i in data.values():
  8.             for dat,val in zip( i.keys(), i.values() ):
  9.                 # Build the first array  contrullo mi array
  10.                 if not frequency :
  11.                     frequency[index] = { dat : {val:0.0} }
  12.                 elif not frequency[index].has_key(dat):
  13.                     #if index <= self.objetiveNumberClass :
  14.                     index += 1
  15.                     frequency[index] = { dat : {val:0.0} }
  16.                 elif not frequency[index][dat].has_key(val):
  17.                     frequency[index] = { dat : {val:0.0} }
  18.                 # creo que aqui viene mi problema
  19.                 if (dat in frequency[index].keys()) and (val in frequency[index][dat].keys()) and (index in frequency.keys()) :
  20.                     frequency[index][dat][val] += 1.0
  21.                        
  22.         print frequency    
  23.         return entropyValue