2016-04-29 6 views
1

値がない場合は 'Nan'を持つネストされた辞書から値の最小値/最大値を取得するにはどうすればよいですか?Pythonはネストされた辞書から最小値/最大値を取得しています

*これは参考になっています。私はこの解決策を見つけました。私はどこでも答えを見つけることができませんでした。

例データセット(iはエンロンデータセットを操作した):

{ 'METTS MARK' { '給与':365788、 'to_messages':807、 'deferral_payments': 'のNaN'、 'total_payments':1061827、 'exercised_stock_options': 'NaNの'、賞与 ':600000、...

答えて

2

udacity forum、nice solution

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

これは私がこの問題を解決する方法である:

#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 
関連する問題