in otava/analysis.py [0:0]
def compare(self, left: np.ndarray, right: np.ndarray) -> ComparativeStats:
if len(left) == 0 or len(right) == 0:
raise ValueError
mean_l = np.mean(left)
mean_r = np.mean(right)
std_l = np.std(left) if len(left) >= 2 else 0.0
std_r = np.std(right) if len(right) >= 2 else 0.0
if len(left) + len(right) > 2:
(_, p) = ttest_ind_from_stats(
mean_l, std_l, len(left), mean_r, std_r, len(right), alternative="two-sided"
)
else:
p = 1.0
return ComparativeStats(mean_l, mean_r, std_l, std_r, p)