J'ai un script python qui crée une liste de listes de données sur le temps de fonctionnement et les performances du serveur, où chaque sous-liste (ou 'ligne') contient les statistiques d'un cluster particulier. Par exemple, joliment formaté, cela ressemble à quelque chose comme ceci :
------- ------------- ------------ ---------- -------------------
Cluster %Availability Requests/Sec Errors/Sec %Memory_Utilization
------- ------------- ------------ ---------- -------------------
ams-a 98.099 1012 678 91
bos-a 98.099 1111 12 91
bos-b 55.123 1513 576 22
lax-a 99.110 988 10 89
pdx-a 98.123 1121 11 90
ord-b 75.005 1301 123 100
sjc-a 99.020 1000 10 88
...(so on)...
Donc, sous forme de liste, ça pourrait ressembler à ça :
[[ams-a,98.099,1012,678,91],[bos-a,98.099,1111,12,91],...]
Ma question : Quelle est la meilleure façon de déterminer les valeurs aberrantes dans chaque colonne ? Ou bien les valeurs aberrantes ne sont-elles pas nécessairement la meilleure façon d'aborder le problème de la recherche de la "méchanceté" ? Dans les données ci-dessus, je voudrais certainement connaître bos-b et ord-b, ainsi que ams-a puisque son taux d'erreur est si élevé, mais les autres peuvent être écartés. En fonction de la colonne, puisque plus haut n'est pas nécessairement pire, ni plus bas, j'essaie de trouver la manière la plus efficace de le faire. Il semble que numpy soit souvent mentionné pour ce genre de choses, mais je ne sais pas trop par où commencer (malheureusement, je suis plus administrateur système que statisticien...).
Merci d'avance !