2014-09-08 3 views
3

Используя библиотеку Pandas python, Dataframe.describe() function печатает стандартное отклонение набора данных. Однако на странице документации не указано, является ли это стандартное отклонение "uncorrected" standard deviation или «исправленным» стандартным отклонением.Pandas Dataframe.describe(): Какое стандартное отклонение?

Может кто-нибудь сказать мне, какой из них он возвращает?

ответ

5

Это исправленное стандартное отклонение образца.
Вы можете убедиться в этом с помощью простой серии и применяя формулы:

In [11]: s = pd.Series([1, 2]) 

In [12]: s.std() 
Out[12]: 0.70710678118654757 

In [13]: from math import sqrt 
    ....: sqrt(0.5) 
Out[13]: 0.7071067811865476 

и формула для исправлен стандартного отклонения выборки:

In [14]: sqrt(1./(len(s)-1) * ((s - s.mean()) ** 2).sum()) 
Out[14]: 0.7071067811865476 
3

DataFrame.describe()calls Series.std(), чтобы получить стандартное отклонение. И как the documentation tells us,

Возврат объективного стандартного отклонения по заданной оси.

Нормализован по N-1 по умолчанию. Это может быть изменено с помощью аргумента ddof

Таким образом, стандартное отклонение, возвращаемое describe() является, по сути, «исправлено стандартное отклонение выборки».