【问题标题】:python getting min/max values from nested dictionarypython从嵌套字典中获取最小/最大值
【发布时间】:2017-07-13 01:02:00
【问题描述】:

如何从嵌套字典中获取值的最小值/最大值,该字典中的缺失值也为“Nan”?

*这是供参考,我找到了一个解决方案,我想我会在这里分享它,因为我在 stackoverflow 上的任何地方都找不到答案。

示例数据集(我使用的是安然数据集):

{'METTS MARK': {'salary': 365788, 'to_messages': 807, 'deferral_payments':'NaN','total_payments':1061827, 'exercised_stock_options': 'NaN', 'bonus': 600000, ...

【问题讨论】:

    标签: python dictionary


    【解决方案1】:

    来自 udacity 论坛,不错的解决方案

    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)
    

    【讨论】:

      【解决方案2】:

      这就是我解决这个问题的方法:

      #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
      

      【讨论】:

      • 您可以在行尾添加['exercised_stock_options'] 以获取该键的值而不是整个字典
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 2016-05-19
      • 2015-07-18
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      相关资源
      最近更新 更多