[+] Output statistics

This commit is contained in:
Hykilpikonna
2021-11-24 16:25:28 -05:00
parent 00aa0a8674
commit eabeb08de3
2 changed files with 38 additions and 4 deletions
+18 -1
View File
@@ -2,10 +2,11 @@ import dataclasses
import inspect
import json
import os
import statistics
from dataclasses import dataclass
from datetime import datetime, date
from pathlib import Path
from typing import Union
from typing import Union, NamedTuple
import json5
import numpy as np
@@ -124,6 +125,22 @@ def remove_outliers(points: list[float], z_threshold: float = 3.5) -> list[float
return [points[v] for v in range(len(x)) if not is_outlier[v]]
class Stats(NamedTuple):
mean: float
median: float
stddev: float
def get_statistics(points: list[float]) -> Stats:
"""
Calculate statistics for a set of points
:param points: Input points
:return: Statistics
"""
return Stats(statistics.mean(points), statistics.median(points), statistics.stdev(points))
class EnhancedJSONEncoder(json.JSONEncoder):
def default(self, o):