Pandas DataFrame에서 특정 열(column)의 분산(variance)을 계산하려면 var() 메서드를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 DataFrame 열 값의 분산을 구하는 방법을 단계별로 살펴보겠습니다.
1. Pandas 라이브러리 임포트
가장 먼저 필요한 Pandas 라이브러리를 임포트합니다.
import pandas as pd
2. DataFrame 생성
예제에 사용할 두 개의 열('Car', 'Units')을 가진 DataFrame을 생성합니다.
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)3. var() 메서드로 분산 계산
var() 함수를 사용하여 'Units' 열 값의 분산을 구합니다.
print("DataFrame1의 Units 열 분산 = ", dataFrame1['Units'].var())같은 방식으로 두 번째 DataFrame('Product', 'Price' 열)에서도 'Price' 열의 분산을 계산할 수 있습니다.
전체 예제 코드
아래는 위 과정을 모두 포함한 완성된 코드입니다.
import pandas as pd
# DataFrame1 생성
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
print("DataFrame1 ...\n", dataFrame1)
# 'Units' 열 값의 분산 계산
print("DataFrame1의 Units 열 분산 = ", dataFrame1['Units'].var())
# DataFrame2 생성
dataFrame2 = pd.DataFrame(
{
"Product": ['TV', 'PenDrive', 'HeadPhone', 'EarPhone', 'HDD', 'SSD'],
"Price": [8000, 500, 3000, 1500, 3000, 4000]
}
)
print("\nDataFrame2 ...\n", dataFrame2)
# 'Price' 열 값의 분산 계산
print("DataFrame2의 Price 열 분산 = ", dataFrame2['Price'].var())실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame1 ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Tesla 80
4 Bentley 110
5 Jaguar 90
DataFrame1의 Units 열 분산 = 586.666666667
DataFrame2 ...
Price Product
0 8000 TV
1 500 PenDrive
2 3000 HeadPhone
3 1500 EarPhone
4 3000 HDD
5 4000 SSD
DataFrame2의 Price 열 분산 = 6766666.66667참고: var() 메서드의 자유도(ddof) 옵션
Pandas의 var() 메서드는 기본적으로 표본 분산(sample variance)을 계산합니다. 즉, 자유도(ddof)가 기본값 ddof=1로 설정되어 있어 n-1로 나눈 값을 반환합니다. 만약 모집단 분산(population variance), 즉 n으로 나눈 값을 구하고 싶다면 다음과 같이 옵션을 지정하면 됩니다.
dataFrame1['Units'].var(ddof=0)
또한 숫자형(numeric) 데이터가 아닌 열에는 NaN이 반환되며, 결측치(NaN)가 있는 경우 자동으로 제외하고 계산됩니다. 이처럼 var() 메서드 하나만으로 DataFrame 열의 분산을 손쉽게 확인할 수 있습니다.