소개
Pandas 기술 통계학 실습에 오신 것을 환영합니다. 기술 통계학은 데이터 분석의 기본이며, 샘플과 측정값에 대한 간단한 요약을 제공합니다. Python 의 강력한 데이터 조작 라이브러리인 Pandas 를 사용하면 이러한 통계량을 계산하는 것이 간단하고 효율적입니다.
이 실습에서는 다음을 배우게 됩니다.
- 데이터셋의 평균 (average) 계산하기
- 중앙값 (median) 찾기
- 최소값 (minimum) 및 최대값 (maximum) 결정하기
- 단일 명령어로 통계량 전체 요약 생성하기
- 범주형 열 (categorical column) 의 고유값 (unique values) 개수 세기
샘플 DataFrame 에서 이러한 작업을 수행하고 WebIDE 에서 Python 코드를 작성하고 실행할 것입니다. 시작해 봅시다!
mean 메서드를 사용하여 평균 계산
이 단계에서는 Pandas DataFrame 의 숫자 열 평균 (average) 을 계산하는 방법을 배웁니다. 평균은 값의 합을 값의 개수로 나눈 것으로, 중심 경향성 (central tendency) 을 나타내는 가장 일반적인 측정값 중 하나입니다.
Pandas 는 .mean() 메서드를 제공하며, 이 메서드는 Series(DataFrame 의 열) 에서 호출하여 평균을 계산할 수 있습니다.
먼저 WebIDE 왼쪽 파일 탐색기에서 main.py 파일을 엽니다. 샘플 DataFrame 을 생성하는 초기 코드를 볼 수 있습니다.
score 열의 평균을 계산하고 출력하기 위해 다음 코드를 main.py 파일 끝에 추가합니다.
## 'score' 열의 평균 계산
score_mean = df['score'].mean()
print(f"Mean Score: {score_mean}")
이제 스크립트를 실행해 봅시다. WebIDE 에서 터미널을 열고 (Terminal -> New Terminal) 다음 명령을 실행합니다.
python3 main.py
원본 DataFrame, 구분선, 그리고 계산된 평균 점수가 표시될 것입니다.
Original DataFrame:
name age score grade
0 Alice 24 85 B
1 Bob 27 90 A
2 Charlie 22 78 C
3 David 32 95 A
4 Eve 29 88 B
==============================
Mean Score: 87.2
median 메서드로 중앙값 계산
이 단계에서는 숫자 열의 중앙값 (median) 을 계산합니다. 중앙값은 오름차순으로 정렬된 데이터셋의 중간 값입니다. 데이터에 이상치 (outliers) 가 포함된 경우 평균보다 중심 경향성을 나타내는 더 나은 척도가 되는 경우가 많습니다.
Pandas 는 .median() 메서드를 사용하여 이를 쉽게 수행할 수 있습니다.
main.py 파일 편집을 계속합니다. score 열의 중앙값을 계산하고 출력하기 위해 다음 줄을 스크립트 끝에 추가합니다.
## 'score' 열의 중앙값 계산
score_median = df['score'].median()
print(f"Median Score: {score_median}")
파일을 저장하고 터미널에서 스크립트를 다시 실행합니다.
python3 main.py
이제 출력에는 평균과 중앙값 모두 포함됩니다.
Original DataFrame:
name age score grade
0 Alice 24 85 B
1 Bob 27 90 A
2 Charlie 22 78 C
3 David 32 95 A
4 Eve 29 88 B
==============================
Mean Score: 87.2
Median Score: 88.0
최소값 및 최대값 찾기
이 단계에서는 열의 최소값과 최대값을 찾습니다. 이러한 통계는 데이터의 범위와 분포를 이해하는 데 유용합니다. Pandas 는 이 목적을 위해 .min() 및 .max() 메서드를 제공합니다.
데이터셋에서 가장 낮고 높은 점수를 찾아봅시다. 다음 코드를 main.py 스크립트 끝에 추가합니다.
## 최소값 및 최대값 점수 찾기
score_min = df['score'].min()
score_max = df['score'].max()
print(f"Minimum Score: {score_min}")
print(f"Maximum Score: {score_max}")
파일을 저장하고 터미널에서 실행합니다.
python3 main.py
이제 출력에는 평균, 중앙값, 최소값 및 최대값 점수가 표시됩니다.
Original DataFrame:
name age score grade
0 Alice 24 85 B
1 Bob 27 90 A
2 Charlie 22 78 C
3 David 32 95 A
4 Eve 29 88 B
==============================
Mean Score: 87.2
Median Score: 88.0
Minimum Score: 78
Maximum Score: 95
describe 로 요약 통계 생성
이 단계에서는 강력한 .describe() 메서드를 사용합니다. 이 단일 메서드는 DataFrame 의 모든 숫자 열에 대한 개수, 평균, 표준 편차, 최소값, 최대값 및 사분위수 값을 포함한 포괄적인 기술 통계 요약을 생성합니다.
이는 데이터에 대한 빠른 개요를 얻는 데 엄청난 시간을 절약해 줍니다. 다음 코드를 main.py 끝에 추가합니다.
## 기술 통계 요약 생성
summary_stats = df.describe()
print("Descriptive Statistics Summary:")
print(summary_stats)
파일을 저장하고 스크립트를 실행합니다.
python3 main.py
age 및 score 열에 대한 요약 통계가 포함된 잘 형식화된 테이블이 표시됩니다.
... (previous output) ...
Descriptive Statistics Summary:
age score
count 5.000000 5.000000
mean 26.800000 87.200000
std 4.024922 6.379655
min 22.000000 78.000000
25% 24.000000 85.000000
50% 27.000000 88.000000
75% 29.000000 90.000000
max 32.000000 95.000000
value_counts 로 고유값 개수 세기
이 단계에서는 열의 고유값 발생 횟수를 세는 방법을 배웁니다. 이는 범주형 데이터에 특히 유용합니다. .value_counts() 메서드는 고유값의 개수를 포함하는 Series 를 반환합니다.
각 등급을 받은 학생 수를 세어 봅시다. 다음 코드를 main.py 끝에 추가합니다.
## 각 등급의 발생 횟수 세기
grade_counts = df['grade'].value_counts()
print("Grade Counts:")
print(grade_counts)
파일을 저장하고 마지막으로 스크립트를 실행합니다.
python3 main.py
최종 출력에는 각 고유 등급에 대한 개수가 포함됩니다.
... (previous output) ...
Grade Counts:
grade
B 2
A 2
C 1
Name: count, dtype: int64
이는 등급 'A'와 'B'가 각각 두 번 나타나고 등급 'C'는 한 번 나타남을 보여줍니다.
요약
실험을 완료하신 것을 축하드립니다! Pandas 라이브러리를 사용하여 기본적인 기술 통계 분석을 성공적으로 수행하는 방법을 배웠습니다.
이 실험에서는 몇 가지 주요 Pandas 메서드를 연습했습니다.
.mean(): 평균 계산.median(): 중앙값 찾기.min()및.max(): 데이터 범위 결정.describe(): 빠르고 포괄적인 통계 요약 얻기.value_counts(): 범주형 열의 고유값 개수 세기
이러한 함수는 모든 데이터 분석가 또는 과학자에게 필수적인 도구이며 탐색적 데이터 분석 (EDA) 의 기초를 형성합니다. 데이터 분석 여정에서 더 능숙해지기 위해 이러한 기술을 계속 연습하십시오.



