Ich habe einen Datensatz, für den Werte, die bestimmte Kriterien erfüllen, zur Durchführung von Wahrscheinlichkeitsberechnungen als Teil einer Summierung verwendet werden. Derzeit halte ich die Daten in verschachtelten Wörterbüchern, um den Prozess der deterministischen Verarbeitung zu vereinfachen.Effiziente Iteration durch verschachtelte Python-Wörterbücher
Der Algorithmus, den ich verwende, erweist sich als sehr teuer und nach einer Weile überwältigt die Erinnerung.
Die psudocode für die Verarbeitung ist wie folgt:
for businessA in business : # iterate over 77039 values
for businessB in business : # iterate over 77039 values
if businessA != businessB :
for rating in business[businessB] : # where rating is 1 - 5
for review in business[businessB][rating] :
user = reviewMap[review]['user'];
if user in business[businessA]['users'] :
for users in business[businessA]['users'] :
# do something
# do probability
# a print is here
Wie kann ich die oben effektiver zu halten genaue Wahrscheinlichkeit Summierung für jeden businessâ schreiben?
EDIT Quellcode einschließlich - hier businessâ und BusinessB ist in eigenen Wörterbücher, aber es ist erwähnenswert ist, dass sie die gleiche businessIDs (bid) in jedem halten. Es ist nur eine Änderung dessen, was der Wert für jedes Schlüssel: Wert-Paar ist.
Können Sie Beispieleingabedaten und Ausgabedaten bereitstellen? Sie haben 'if BusinessA! = BusinessB:' was sind das? –
businessA, BusinessB sind einzigartige Unternehmen in einem Wörterbuch von Unternehmen, so dass businessA nicht BusinessB ist (z. B. McDonalds ist nicht Wendy). –
Halten Sie "Geschäft" im Speicher? Wie speichern Sie die Ergebnisse? –