Различное стандартное отклонение в пандах и нампи - PullRequest
2 голосов
/ 26 октября 2019

Я пытался вычислить std для массива, я пытался использовать numpy и pandas, чтобы найти std, но то, что я достиг, не логично, у меня есть два разных std для того же массива!

Почему это происходит?

>>> import numpy as np
>>> import pandas as pd

>>> a = np.arange(10)+1
>>> a
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>> a.std()
2.8722813232690143
>>> b = pd.DataFrame(a)
>>> b.std()
0    3.02765
dtype: float64

1 Ответ

6 голосов
/ 26 октября 2019

Разница в степени свободы, по умолчанию в numpy ddof=0, в пандах ddof=1:

print(a.std())
2.8722813232690143
print(a.std(ddof=0))
2.8722813232690143

print(a.std(ddof=1))
3.0276503540974917

b = pd.DataFrame(a)
print(b.std())
0    3.02765
dtype: float64
print(b.std(ddof=1))
0    3.02765
dtype: float64

print(b.std(ddof=0))
0    2.872281
dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...