формула для значения медианы :
i - ряд чисел
sorted_numbers = sorted(i)
n = len(sorted_numbers) #количество чисел в ряду
if n % 2 == 1: #проверям на начётность этот ряд
median = sorted_numbers[n // 2] #если это так, то медианой будет число в середине ряда
else: # если количество чисел чётное то находим 2 числа в середине и находим их полусумму, что и происходит дальше
middle1 = sorted_numbers[n // 2 - 1]
middle2 = sorted_numbers[n // 2]
median = (middle1 + middle2) / 2
формула для вычисления мода:
i - ряд чисел
frequency = {} #создаём словарь
for v in i: #если число уже было в словаре то мы добавяем 1 к значению которое записано под ключом который является значением этого числа, а если этого числа нет, то создаём под него ключ и задаём значение 1
if v in frequency:
frequency[v] += 1
else:
frequency[v] = 1
max_frequency = max(frequency.values()) #находим максмальное значение среди всех из словаря
modes = [] #создаём список под моды, так как их может быть больше 1
for key in frequency: #если значение под ключом равно максимальному то значение ключа записываетс в список
if frequency[key] == max_frequency:
modes.append(key)
формула для дисперсии:
i - ряд чисел
m = sum(i) / len(i) #находим среднее арифметическое
diff = [(x - m) ** 2 for x in i] #находим квадрат разности каждого эелемента ряда с среднем арифметическим и записываем все эти значения в список
di = sum(diff) / len(i) #находим среднее арифметическое этих квадратов
формула для стандартного отклонения:
i - ряд чисел
m1 = sum(i) / len(i)
diff1 = [(x - m1) ** 2 for x in i]
di = sum(diff1) / len(i) # всё всключая эту строчку это подсчёт дисперсии по предыдущей формуле
sd = di ** 0.5 #единственное отличие что тут нужно взять корень из дисперсии