我有几百本这样的字典。它们都有相同的键(纽约、芝加哥等),但值不同。没有缺少值
[{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'},
{'New York': 'cloudy', 'Chicago': 'hailing', 'Seattle': 'sunny'},
{'New York': 'sunny', 'Chicago': 'snowy', 'Seattle': 'rainy'},
{'New York': 'hailing', 'Chicago': 'snowy', 'Seattle':'snowy'}]
我想计算每个键最常见的“天气”值。然后将它们合并到一个最终列表中,只输出每个城市最常见的键值
{'New York': 'cloudy', 'Chicago': 'snowy', 'Seattle': 'rainy'}
我怎样才能做到这一点
将词典列表转换为一个数据框,计算每个城市的值,找到最大值的索引:
如果需要的话,把它做成字典:
为什么不是一行
dictionary comprehension
然后呢?比如:现在您可以得到所需的输出:
您可以遍历该列表,将每个城市及其所有相关天气值分组,然后使用
collections.Counter
:输出:
编辑:假设
d
中的所有字典都包含相同的键,则只需要从列表中的第一个字典迭代后一个属性:相关问题 更多 >
编程相关推荐