Calcolare la media ponderata di valori e pesi
Questo calcolatore abbina un elenco di valori al corrispondente elenco di pesi e restituisce media ponderata, somma ponderata, peso totale e numero di elementi.
Esegui gratis nel browser
È utile quando alcune osservazioni devono incidere più di altre, per esempio in voti, valutazioni, prezzi, misure e indici compositi. Il calcolo è deterministico: ogni valore viene moltiplicato per il peso nella stessa posizione, i prodotti vengono sommati e il risultato viene diviso per la somma dei pesi. Se il peso totale è zero, la richiesta viene rifiutata perché la divisione non è definita.
Abbini ogni valore al peso previsto
Inserisca valori e pesi in due elenchi con lo stesso numero di elementi. La posizione stabilisce il legame: il primo peso si applica al primo valore, il secondo al secondo e così via. Per esempio, i valori 82, 91 e 76 con pesi 0.25, 0.5 e 0.25 assegnano al valore centrale un’influenza doppia. Non è necessario che i pesi totalizzino uno o cento, perché la formula divide automaticamente per il loro totale. Usi esclusivamente numeri JSON finiti. Campi vuoti, testo, infinito, elenchi mancanti o vuoti e lunghezze diverse vengono rifiutati. Questa verifica impedisce che un peso omesso sposti tutti gli abbinamenti successivi. Prima del calcolo, controlli che entrambi gli elenchi seguano lo stesso ordine e che ogni peso rappresenti l’influenza desiderata.
Comprenda il calcolo e i totali restituiti
Il calcolatore moltiplica ciascun valore per il relativo peso e somma i prodotti per ottenere la somma ponderata. Somma inoltre i pesi e divide il primo totale per il secondo. La risposta espone weighted_average come risultato, weighted_sum come numeratore, weight_sum come denominatore e count come numero di coppie. Questi dati consentono di verificare il calcolo in un foglio elettronico, un rapporto o un test. Moltiplicare tutti i pesi per lo stesso fattore diverso da zero non cambia la media. Un singolo peso zero annulla l’influenza del valore associato. I pesi negativi sono ammessi matematicamente, ma possono portare il risultato oltre l’intervallo dei valori e vanno usati solo se il metodo lo richiede. L’elaborazione è deterministica e non contatta servizi esterni.
Eviti totali nulli e interpreti il risultato
La somma dei pesi deve essere diversa da zero. Se tutti sono zero, oppure se pesi positivi e negativi si annullano esattamente, la divisione è indefinita e viene restituito un errore di input. Quando i pesi rappresentano percentuali, verifichi che comprendano tutti i componenti previsti. Possono totalizzare 100, 1 o un’altra quantità non nulla, ma un componente mancante può rendere la risposta concettualmente incompleta. Per i voti, escludere un compito non ancora valutato è diverso dall’inserirlo con voto zero; attribuirgli peso zero ne elimina invece l’effetto. Nei dati di frequenza i pesi sono normalmente non negativi. Confronti weight_sum con il totale atteso e count con le righe di origine per rilevare errori prima di archiviare o pubblicare la media.
Casi d'uso
Combinare le componenti di un corso
Calcoli il voto finale quando esami, progetti, verifiche e partecipazione incidono in proporzioni diverse.
Aggregare valutazioni per volume
Combini valutazioni di gruppi assegnando la giusta influenza a quelli con più osservazioni.
Creare un punteggio composito
Unisca indicatori normalizzati con pesi espliciti e conservi i totali per eventuali verifiche.
Domande frequenti
Quanto costa il calcolo?
Ogni richiesta API costa $0.002; il calcolatore nel browser esegue localmente lo stesso calcolo deterministico.
I pesi devono totalizzare 100 o 1?
No. È valido qualsiasi totale diverso da zero, poiché la somma ponderata viene divisa per la somma effettiva dei pesi.
Che cosa accade se i pesi sommano a zero?
La richiesta restituisce un errore di input perché la divisione per un totale nullo non è definita.
Gli elenchi possono avere lunghezze diverse?
No. Ogni valore deve avere esattamente un peso corrispondente nella stessa posizione.
Sono ammessi singoli pesi nulli o negativi?
Sì, purché il totale non sia zero. Un peso nullo elimina l’influenza del valore; quelli negativi richiedono cautela.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/calc3/weighted-average-grade \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"values":[82,91,76],"weights":[0.25,0.5,0.25]}'const res = await fetch("https://api.kit.forhosting.com/calc3/weighted-average-grade", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"values": [
82,
91,
76
],
"weights": [
0.25,
0.5,
0.25
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc3/weighted-average-grade",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"values": [
82,
91,
76
],
"weights": [
0.25,
0.5,
0.25
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc3/weighted-average-grade", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"values":[82,91,76],"weights":[0.25,0.5,0.25]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"values":[82,91,76],"weights":[0.25,0.5,0.25]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc3/weighted-average-grade", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"values": [
82,
91,
76
],
"weights": [
0.25,
0.5,
0.25
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc3.weighted_average_grade",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |