numpy array와 pandas에서 var을 구할 때 차이점
numpy array가 다음과 같이 주어진다.
여기서 분산을 구하고자 하는데 numpy.var()을 이용하여 구할 수 있다.
그런데 위 array를 pandas의 series에 넣어본다면
이 상태에서 분산을 구할려면 .var()을 하면 구할 수 있다
두 방식에서 구한 var에 차이가 있다
분명 같은 값들이 들어간 array로 var을 구한건데 왜 차이가 있을까?
그것은 numpy array에서는 var을 biased estimator로 구하기 때문이다.
모든 데이터 편차제곱합을 개수 N으로 나눠서 구한다
반면 pandas의 dataframe에서 var은 unbiased estimator로 구하기 때문이다.
그래서 두 값이 같게 만들려면 pd.Series에서 var의 옵션에 ddof=0으로 두면 두 값이 같게 된다.
또는 numpy.var()에서 ddof=1로 옵션을 두면 같게 된다
참고
https://stackoverflow.com/questions/62938070/different-values-of-numpy-var-and-pandas-var
'프로그래밍 > Python' 카테고리의 다른 글
urlopen을 할 때 HTTP Error 403: Forbidden error가 난다면 (0) | 2021.12.19 |
---|---|
list comprehension (0) | 2021.12.18 |
빅데이터분석기사 3회 대비 실전 벼락치기 (0) | 2021.12.04 |
(빅데이터분석기사) pandas에서 count()를 사용할 때 주의할 점 (0) | 2021.12.03 |
python 조건문 if문 사용할 때 주의해야할 점 (0) | 2021.11.18 |
TAGS.