Pandas median() 메서드로 열 값의 중앙값 계산하기
DataFrame 열(column) 값의 중앙값(median)을 계산하려면 median() 메서드를 사용합니다. 중앙값은 데이터를 크기순으로 정렬했을 때 가운데 위치하는 값으로, 극단적인 이상치(outlier)에 평균보다 덜 영향을 받는 대표 통계량입니다.
먼저 필요한 Pandas 라이브러리를 임포트합니다.
import pandas as pd
DataFrame 생성
이제 두 개의 열을 가진 DataFrame을 만들어 보겠습니다.
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
단일 열의 중앙값 구하기
median() 메서드를 사용하면 "Units" 열처럼 특정 열 하나의 중앙값을 간단히 구할 수 있습니다.
print("DataFrame1의 Units 열 중앙값 = ", dataFrame1['Units'].median())
같은 방식으로 두 번째 DataFrame에서도 중앙값을 계산할 수 있습니다.
전체 예제 코드
다음은 두 개의 DataFrame에서 각각 중앙값을 구하는 전체 코드입니다.
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'].median())
# 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'].median())
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame1 ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Tesla 80
4 Bentley 110
5 Jaguar 90
DataFrame1의 Units 열 중앙값 = 105.0
DataFrame2 ...
Price Product
0 8000 TV
1 500 PenDrive
2 3000 HeadPhone
3 1500 EarPhone
4 3000 HDD
5 4000 SSD
DataFrame2의 Price 열 중앙값 = 3000.0
결과 해석
"Units" 열의 값을 오름차순으로 정렬하면 80, 90, 100, 110, 110, 150이 되며, 데이터 개수가 짝수(6개)이므로 가운데 두 값인 100과 110의 평균인 105.0이 중앙값이 됩니다. 마찬가지로 "Price" 열은 500, 1500, 3000, 3000, 4000, 8000으로 정렬되며, 가운데 두 값이 모두 3000이므로 중앙값은 3000.0입니다.
참고로 DataFrame 전체 수치 열의 중앙값을 한 번에 구하고 싶다면 df.median(numeric_only=True)처럼 호출하면 각 열별 중앙값이 Series 형태로 반환됩니다.