2016-04-29 11 views
1

Wie kann ich Min/Max für einen Wert aus einem verschachtelten Wörterbuch, das auch 'Nan' für die fehlenden Werte hat bekommen?Python, die Min/Max-Werte von verschachtelten Wörterbuch erhalten

* Dies ist als Referenz habe ich eine Lösung gefunden und ich dachte, ich würde es hier teilen, da ich nirgendwo auf Stackoverflow eine Antwort finden konnte.

Beispiel Datensatz (i wurde mit dem Enron-Datensatz arbeiten):

{ 'METTS MARK': { 'Gehalt': 365.788, 'to_messages': 807, 'deferral_payments': 'NaN', 'total_payments': 1061827, 'exercised_stock_options': 'NaN', 'Bonus': 600000, ...

Antwort

2

von idacity forum, schöne lösung

exercised_stock_options = [item["exercised_stock_options"] for k, item in 
data_dict.iteritems() if not item["exercised_stock_options"] == "NaN"] 
print "min is %s" % min(exercised_stock_options) 
print "max is %s" % max(exercised_stock_options) 
1

Dies ist, wie ich dieses Problem gelöst:

#get minimum and maximum stock options 

result = min(data_dict.values(), key=lambda v:v['exercised_stock_options'] if v['exercised_stock_options'] != 'NaN' else float('inf')) 
print result 

result = max(data_dict.values(), key=lambda v:v['exercised_stock_options'] if v['exercised_stock_options'] != 'NaN' else float('-inf')) 
print result 
Verwandte Themen