#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 . Моему мозгу нужен отдых.