我有一个像这样的python字典:
{'0': 25, '1': 35, '10': 29, '11': 28}
键是id,值是个计数。
如何查找此字典中的值是否不成比例?
该字典将是不成比例的,因为id 29
的计数186
远远大于该字典中的所有其他值。
我曾经考虑过要找到平均值,然后将每个值与该平均值进行比较,但是有没有更有效,更强大的方法呢?
答案 0 :(得分:4)
那就是我要做的。
values = d.values()
avg = sum(values)/len(values)
disproportionate_keys = [k for k, v in d.items() if abs(v - avg) > some_threshold]
代码本身很简单;唯一真正的问题是“不成比例的”到底是什么意思?在这里,我简单检查一下它是否与平均值相距一定距离。
答案 1 :(得分:0)
array1 = ["a","b","c","d","e","f"]
array2 = ["a","b","d","f"]
array3 = ["g","h"]
j=0;
for (i=0 ; i < array1.length ;i++){
if (array2[i]!==array1[i])
{
array2.splice(i,0, array3[j]);
j++;
}
}
console.log(array2);`
对于阈值= 20:{'29':186}
您可以设置任何正阈值。它将为您提供离群的key:value对。我希望这就是您所需要的。