Mi chiedo se esiste un modo Pythonic per calcolare le medie e le varianze dei contatori?Modo pitonico per calcolare la media e la varianza dei valori nei contatori
Per esempio, ho quattro contatori che condividono gli stessi tasti:
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})
Il mio modo per farlo è:
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]]
ho potuto utilizzare il seguente codice per trovare la media/varianza per ogni chiave:
np.mean(each_key_val[i])
np.var(each_key_val[i])
C'è un modo più semplice per calcolare la media/varianza per ogni chiave rispetto alla mia strada?
quale versione di Python? –
@Padraic Cunningham '2.7' Ma sono disposto ad accettare qualsiasi suggerimento indipendentemente dalla versione di Python :) – datadatadata
Puoi creare il dict usando un defaultdict che sarebbe molto più semplice, cosa vuoi fare con la media e la varianza ? –