Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas DataFrame에서 열의 분산 계산하기 – Python var() 메서드 완벽 가이드

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 열의 분산을 손쉽게 확인할 수 있습니다.