Ce face np.mean()
np.mean() calculează media aritmetică: suma elementelor împărțită la numărul lor. Ca la np.sum(), parametrul axis alege direcția (axis=0 pe coloane, axis=1 pe rânduri). Rezultatul este mereu un număr cu virgulă, chiar dacă datele sunt întregi.
np.median() returnează valoarea din mijloc după sortare (pentru un număr par de elemente, media celor două din mijloc). Mediana este puțin influențată de valorile extreme, de aceea se folosește des pentru salarii sau prețuri.
np.average() face același lucru ca np.mean(), dar acceptă weights: fiecare valoare are o pondere. Așa calculezi, de exemplu, media notelor ținând cont de numărul de credite.
Parametri
| Parametru | Descriere |
|---|---|
a |
Datele. |
axis |
Axa pe care se face media; None = tot tabloul. |
weights |
Doar la np.average: ponderile, cu aceeași lungime ca datele (sau ca axa aleasă). |
returned |
Doar la np.average: dacă este True, returnează și suma ponderilor. |
keepdims |
Păstrează axa calculată cu lungimea 1. |
Ce returnează
Un scalar np.float64 sau un tablou de medii.
Exemple
Exemplul 1: Media notelor pe elev și pe materie
Rândurile sunt elevii Ana, Mihai, Ioana; coloanele sunt trei materii.
import numpy as np
note = np.array([
[9, 8, 10], # Ana
[6, 7, 5], # Mihai
[10, 9, 9], # Ioana
])
print("Media generală:", note.mean().round(2))
print("Pe elev:", np.mean(note, axis=1).round(2))
print("Pe materie:", np.mean(note, axis=0).round(2))
Rezultat
Media generală: 8.11
Pe elev: [9. 6. 9.33]
Pe materie: [8.33 8. 8. ]
Exemplul 2: Medie sau mediană
Un singur salariu foarte mare trage media în sus; mediana rămâne aproape de salariile obișnuite.
import numpy as np
salarii = np.array([4200, 4500, 4800, 5000, 31000])
print("Media:", np.mean(salarii))
print("Mediana:", np.median(salarii))
Rezultat
Media: 9900.0
Mediana: 4800.0
Exemplul 3: Media ponderată cu credite
Nota de la materia cu 6 credite contează de trei ori mai mult decât cea cu 2 credite.
import numpy as np
note = np.array([10, 6, 8])
credite = np.array([6, 2, 4])
print("Media simplă:", round(float(np.mean(note)), 2))
print("Media ponderată:", round(float(np.average(note, weights=credite)), 2))
Rezultat
Media simplă: 8.0
Media ponderată: 8.67
Greșeli frecvente
- Dai
weightsluinp.mean(): parametrul nu există acolo și primeștiTypeError. Ponderile merg doar lanp.average(). - Calculezi media pe date cu
np.nan: rezultatul estenan. Foloseștenp.nanmean()sau elimină întâi valorile lipsă. - Folosești media pentru date cu valori extreme (salarii, prețuri de case) și tragi concluzii greșite. Uită-te și la mediană.
Comenzi înrudite
np.sum(): Adună elementele unui tablou: pe tot tabloul, pe coloane (axis=0) sau pe rânduri (axis=1).np.std(): Calculează abaterea standard (np.std) și varianța (np.var); ddof=0 pentru populație, ddof=1 pentru eșantion.np.percentile(): Calculează percentile (q între 0 și 100) cu np.percentile sau cuantile (q între 0 și 1) cu np.quantile.np.nan și funcțiile nan*: Lucrul cu valori lipsă: np.nan, np.isnan și funcțiile nansum, nanmean, nanmin, nanmax care ignoră NaN.
Întrebări & Exemple de Cod:
np.mean()Ai o nelămurire despre utilizarea comenzii
np.mean()sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.