본문 바로가기

공부/판다스(Pandas)

Pandas로 배우는 기본 통계 함수와 심화 분석 함수 활용법

데이터를 분석할 때, 그 데이터의 주요 특징을 파악하는 것이 매우 중요합니다. 특히, 평균이나 합계와 같은 기본 통계 값은 데이터를 요약하는 데 큰 도움을 줍니다. 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() 같은 심화 함수는 데이터의 변동성을 파악하는 데 도움을 줍니다.