diff --git a/app/comp/aux_stats.py b/app/comp/aux_stats.py index 3337c2b81..3f25a5ada 100644 --- a/app/comp/aux_stats.py +++ b/app/comp/aux_stats.py @@ -21,14 +21,17 @@ class StatsMoyenne: Les valeurs NAN ou non numériques sont toujours enlevées. Si vals is None, renvoie des zéros (utilisé pour UE bonus) """ - if vals is None or len(vals) == 0: + try: + if vals is None or len(vals) == 0 or np.isnan(vals).all(): + self.moy = self.min = self.max = self.size = self.nb_vals = 0 + else: + self.moy = np.nanmean(vals) + self.min = np.nanmin(vals) + self.max = np.nanmax(vals) + self.size = len(vals) + self.nb_vals = self.size - np.count_nonzero(np.isnan(vals)) + except TypeError: # que des NaN dans un array d'objets, ou ce genre de choses exotiques... self.moy = self.min = self.max = self.size = self.nb_vals = 0 - else: - self.moy = np.nanmean(vals) - self.min = np.nanmin(vals) - self.max = np.nanmax(vals) - self.size = len(vals) - self.nb_vals = self.size - np.count_nonzero(np.isnan(vals)) def to_dict(self): "Tous les attributs dans un dict" diff --git a/sco_version.py b/sco_version.py index bda50cef4..a8b213f51 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.1.50" +SCOVERSION = "9.1.52" SCONAME = "ScoDoc"