У меня есть список, для которого мне нравится вычислять выборочная дисперсия . Когда я использую numpy.var
, я получаю другой результат от функции, которую я определил.
Может кто-нибудь помочь мне понять, что мне не хватает?
my_ls = [227, 222, 218, 217, 225, 218, 216, 229, 228, 221]
def calc_mean(ls):
sum_tmp = 0
for i in ls:
sum_tmp = sum_tmp + i
return round(sum_tmp/len(ls), 2)
def calc_var(ls):
tmp_mean = calc_mean(ls)
tmp_sum = 0
for i in ls:
tmp_sum = tmp_sum + ((i - tmp_mean)**2)
return round(tmp_sum/(len(ls)-1), 2)
calc_var(my_ls)
>>> 23.66
np.var(my_ls)
>>> 21.29
23,66 - это мое желаемое значение.