Мне интересно, есть ли у Pythonic способ вычисления средств и отклонений счетчиков?Pythonic способ вычисления среднего значения и дисперсии значений в счетчиках
К примеру, у меня есть четыре счетчиков обмена тех же ключи:
a = Counter({1: 23, 2: 39, 3: 1})
b = Counter({1: 28, 2: 39, 3: 1})
c = Counter({1: 23, 2: 39, 3: 2})
d = Counter({1: 23, 2: 22, 3: 1})
Мой способ сделать это:
each_key_val = {}
for i in a.keys(): # The assumption here is that all Counters must share the same keys
for j in [a, b, c, d]:
try:
each_key_val[i].append(j[i])
except:
each_key_val[i] = [j[i]]
Я мог бы использовать следующий код, чтобы найти среднее/дисперсию каждый ключ:
np.mean(each_key_val[i])
np.var(each_key_val[i])
Есть ли более простой способ вычислить среднее/дисперсию для каждого ключа по сравнению с моим путем?
какая версия питона? –
@Padraic Cunningham '2.7' Но я готов принять любые предложения, независимо от версии Python :) – datadatadata
Вы можете создать dict с использованием defaultdict, который будет намного проще, что вы хотите делать со средним значением и дисперсией ? –