본문 바로가기
Big Data/DataAnalysis & Manipulate

pandas와 numpy의 var()과 ddof

by Wikinist 2023. 8. 8.

ddof와 분산(variance)

ddof (Degrees of Freedom): 통계학에서 자유도(degree of freedom)를 나타내는 개념으로, 샘플의 크기에 따라 분산을 얼마나 정확하게 추정해야 하는지 결정하는데 사용됩니다.
분산(variance): 데이터 값이 평균으로부터 얼마나 퍼져있는지를 나타내는 지표입니다. 분산은 데이터 값과 평균 간의 차이를 제곱하여 평균한 값입니다.

Pandas의 var 함수

pandas.Series.var(): 시리즈 데이터의 분산을 계산합니다. 
기본값: ddof의 기본값은 1로, 즉 불편 추정을 사용합니다.
사용 예시:

import pandas as pd

data = [10, 20, 30, 40, 50]
series = pd.Series(data)

# 불편 추정 사용 (ddof=1)
variance_unbiased = series.var()

NumPy의 var 함수

numpy.var(): 배열의 분산을 계산합니다.
기본값: ddof의 기본값은 0으로, 편향 추정을 사용합니다.
사용 예시:

import numpy as np

data = np.array([10, 20, 30, 40, 50])

# 편향 추정 사용 (ddof=0)
variance_biased = np.var(data)

따라서, Pandas의 var 함수는 기본적으로 불편 추정을 사용하여 시리즈 데이터의 분산을 계산하고, NumPy의 var 함수는 기본적으로 편향 추정을 사용하여 배열의 분산을 계산합니다. 이때 ddof 파라미터를 조절하여 편향 추정과 불편 추정 중에서 선택할 수 있습니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > DataAnalysis & Manipulate' 카테고리의 다른 글

numpy histogram()  (0) 2023.08.08
DataFrame 인덱싱  (0) 2023.08.08
vectorize, apply, map  (0) 2023.08.08
df.describe()  (0) 2023.08.07
pandas cut()  (0) 2023.08.07