????? 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 originaldef entropy(self, column, values ):
entropyValue = 0.0
frequency = {}
index = 0
data = self.mixColumn(column,values)
namesClass = self.getTargetNames(values)
for i in data.values():
for dat,val in zip( i.keys(), i.values() ):
# Build the first array contrullo mi array
if not frequency :
frequency[index] = { dat : {val:0.0} }
elif not frequency[index].has_key(dat):
#if index <= self.objetiveNumberClass :
index += 1
frequency[index] = { dat : {val:0.0} }
elif not frequency[index][dat].has_key(val):
frequency[index] = { dat : {val:0.0} }
# creo que aqui viene mi problema
if (dat in frequency[index].keys()) and (val in frequency[index][dat].keys()) and (index in frequency.keys()) :
frequency[index][dat][val] += 1.0
print frequency
return entropyValue