STDEV.S и STDEV.P с использованием numpy

#python #numpy

#python #numpy

Вопрос:

Если я могу использовать приведенное ниже для вычисления стандартного отклонения совокупности

 x = ([9,2,5,4,12,7,8,11,9,3,7,4,12,5,4,10,9,6,9,4])
np.sqrt(np.sum((x - np.mean(x))**2)/len(x))
  

Есть ли способ также использовать numpy для вычисления стандартного отклонения выборки. Я знаю, что есть statistics.stdev, который это сделает, но, похоже, я не могу найти версию numpy. Есть ли причина, по которой ее нет?

Я также пытался включить ddof в формулу, но получил ошибку.

Ответ №1:

Вы преобразуете его в массив numpy и используете np.std() ?

 x = ([9,2,5,4,12,7,8,11,9,3,7,4,12,5,4,10,9,6,9,4])
np.array(x).std(ddof=1)

3.0607876523260447
  

Если вы делаете это с нуля:

 np.sqrt(np.sum((x - np.mean(x))**2)/(len(x)-1))
3.060788
  

Или:

 import statistics
statistics.stdev(x)
3.0607876523260447
  

Комментарии:

1. Вы правы. Спасибо. Я забыл поместить -1 в скобку за пределами x . Моему мозгу нужен отдых.