데이터를 분석할 때, 그 데이터의 주요 특징을 파악하는 것이 매우 중요합니다. 특히, 평균이나 합계와 같은 기본 통계 값은 데이터를 요약하는 데 큰 도움을 줍니다. Pandas는 이러한 통계값을 쉽게 구할 수 있도록 다양한 함수들을 제공하며, 심화 통계 분석도 간단하게 처리할 수 있습니다.
이번 포스팅에서는 Pandas를 사용해 기본 통계 함수와 더불어, 분산과 표준편차 같은 심화 통계 함수를 어떻게 활용할 수 있는지 알아보겠습니다.
1. 기본 통계 함수
Pandas는 평균, 합계, 개수, 최대값, 최소값 등의 기본적인 통계 함수를 제공합니다. 이 함수들은 데이터를 쉽게 요약하는 데 자주 사용됩니다. 아래에서 각각의 함수를 하나씩 알아보겠습니다.
1.1 평균 구하기: mean() 함수
mean() 함수는 데이터의 평균값을 구합니다. 예를 들어, 아래 코드는 매출과 이익의 평균을 계산합니다.
import pandas as pd
# 샘플 데이터 생성
data = {
'Sales': [100, 200, 150, 300, 250],
'Profit': [10, 20, 15, 30, 25]
}
df = pd.DataFrame(data)
# 평균 구하기
mean_values = df.mean()
print(mean_values)
결과:
Sales 200.0
Profit 20.0
dtype: float64
이 코드에서는 'Sales'와 'Profit' 열의 평균값을 계산했습니다. 매출(Sales)의 평균은 200이고, 이익(Profit)의 평균은 20입니다. 평균은 데이터가 어느 정도의 값을 가지고 있는지 파악할 수 있는 좋은 방법입니다 .
1.2 합계 구하기: sum() 함수
sum() 함수는 각 열의 값들을 모두 더한 총합을 계산합니다.
# 합계 구하기
sum_values = df.sum()
print(sum_values)
결과:
Sales 1000
Profit 100
dtype: int64
위 코드는 매출과 이익의 합계를 보여줍니다. 'Sales'의 총합은 1000, 'Profit'의 총합은 100입니다. 데이터를 한눈에 요약할 때 합계는 매우 유용합니다.
1.3 개수 세기: count() 함수
count() 함수는 각 열에 들어 있는 값의 개수를 셉니다.
# 데이터 개수 세기
count_values = df.count()
print(count_values)
결과:
Sales 5
Profit 5
dtype: int64
이 코드에서는 'Sales'와 'Profit' 열에 각각 5개의 데이터가 있음을 알 수 있습니다. 데이터의 개수를 파악하면 결측값이 있는지 확인할 수 있습니다.
1.4 최소값 구하기: min() 함수
min() 함수는 각 열에서 가장 작은 값을 찾아줍니다.
# 최소값 구하기
min_values = df.min()
print(min_values)
결과:
Sales 100
Profit 10
dtype: int64
'Sales'의 최소값은 100, 'Profit'의 최소값은 10입니다. 데이터를 요약할 때, 가장 작은 값은 중요한 정보일 수 있습니다.
1.5 최대값 구하기: max() 함수
max() 함수는 각 열에서 가장 큰 값을 찾아줍니다.
# 최대값 구하기
max_values = df.max()
print(max_values)
결과:
Sales 300
Profit 30
dtype: int64
'Sales'의 최대값은 300, 'Profit'의 최대값은 30입니다. 데이터를 분석할 때 가장 큰 값도 매우 중요한 정보입니다 .
2. 심화 통계 함수
기본 통계 값 외에도, 데이터를 더 깊이 분석하기 위해 분산과 표준편차와 같은 심화 통계 함수를 사용할 수 있습니다. 이 값들은 데이터가 얼마나 변동성이 큰지, 즉 퍼져 있는지를 나타냅니다.
2.1 분산 구하기: var() 함수
분산은 데이터가 평균을 기준으로 얼마나 퍼져 있는지를 나타내는 값입니다. var() 함수로 분산을 쉽게 계산할 수 있습니다.
# 분산 구하기
variance_values = df.var()
print(variance_values)
결과:
Sales 6250.0
Profit 62.5
dtype: float64
매출의 분산은 6250, 이익의 분산은 62.5입니다. 분산이 클수록 데이터가 평균에서 많이 퍼져 있다는 의미입니다.
2.2 표준편차 구하기: std() 함수
표준편차는 분산의 제곱근으로, 데이터가 평균을 기준으로 얼마나 퍼져 있는지 나타냅니다. std() 함수를 사용하면 표준편차를 쉽게 구할 수 있습니다.
# 표준편차 구하기
std_values = df.std()
print(std_values)
결과:
Sales 79.056942
Profit 7.905694
dtype: float64
매출의 표준편차는 약 79.06이고, 이익의 표준편차는 약 7.91입니다. 표준편차가 크면 데이터가 평균에서 많이 벗어나 있음을 의미합니다. 표준편차는 데이터를 분석할 때 그 변동성을 측정하는 데 유용합니다 .
3. 추가 심화 통계 함수
그 외에도 Pandas는 데이터를 더욱 세부적으로 분석할 수 있도록 여러 심화 통계 함수를 제공합니다. 예를 들어, 중앙값(median)과 사분위수(quantile)를 계산할 수 있습니다 .
# 중앙값 구하기
median_values = df.median()
print(median_values)
# 사분위수 구하기
quantile_values = df.quantile([0.25, 0.5, 0.75])
print(quantile_values)
결과:
# 중앙값
Sales 200.0
Profit 20.0
dtype: float64
# 사분위수
Sales Profit
0.25 150.0 15.0
0.50 200.0 20.0
0.75 250.0 25.0
중앙값은 데이터를 크기 순서대로 정렬했을 때 가운데 위치한 값입니다. 사분위수는 데이터를 네 부분으로 나눈 경계값을 나타냅니다. 이를 통해 데이터의 분포를 더 자세히 이해할 수 있습니다 .
마무리
이번 포스팅에서는 Pandas의 기본 통계 함수와 심화 통계 함수를 사용하여 데이터를 분석하는 방법을 배웠습니다. mean(), sum(), count() 같은 기본 함수들은 데이터를 요약하는 데 유용하며, var()와 std() 같은 심화 함수는 데이터의 변동성을 파악하는 데 도움을 줍니다.
'공부 > 판다스(Pandas)' 카테고리의 다른 글
상관관계 분석의 다양한 방법/데이터 간의 관계를 이해하는 기법들 (1) | 2024.10.20 |
---|---|
Pandas로 배우는 시계열 데이터 분석/날짜 및 시간 핸들링과 리샘플링 기법 (1) | 2024.10.19 |
Pandas로 배우는 피벗 테이블과 교차 테이블/ 데이터 요약 및 관계 분석 (0) | 2024.10.17 |
Pandas로 배우는 데이터 그룹화와 집계/효율적인 데이터 분석 방법 (0) | 2024.10.16 |
Pandas로 배우는 데이터 전처리(정렬, 필터링, 중복 처리, 변환과 치환) (1) | 2024.10.12 |