1. pandas의 describe 함수
기본 개념
pandas의 DataFrame에서 describe() 함수를 사용하면, 데이터의 여러 통계치를 자동으로 계산해서 표 형태로 보여줘요. 예를 들어, 숫자로 이루어진 데이터에 대해 아래와 같은 정보들을 제공해요.
- count: 데이터의 개수 (숫자가 몇 개 있는지)
- mean: 평균값 (모든 숫자를 더해서 개수로 나눈 값)
- std: 표준편차 (데이터가 평균값 주위에서 얼마나 퍼져 있는지)
- min: 가장 작은 값
- 25%: 1사분위수 (전체 데이터를 4등분했을 때, 첫 번째 부분의 끝 값)
- 50%: 중앙값 (전체 데이터를 반으로 나눈 중간값)
- 75%: 3사분위수 (전체 데이터를 4등분했을 때, 세 번째 부분의 끝 값)
- max: 가장 큰 값
예제 코드
import pandas as pd
# 예제 데이터를 만들어요.
data = {
'나이': [15, 16, 15, 17, 16],
'키': [150, 155, 152, 158, 154]
}
df = pd.DataFrame(data)
# describe() 함수를 사용하여 데이터의 통계치를 계산해요.
통계치 = df.describe()
print(통계치)
코드 설명
- import pandas as pd: pandas 라이브러리를 불러와요.
- data: '나이'와 '키'라는 두 개의 리스트를 가진 딕셔너리로 데이터를 만들어요.
- pd.DataFrame(data): 딕셔너리 데이터를 DataFrame 형태로 변환해요.
- df.describe(): DataFrame의 각 열에 대해 위에서 설명한 통계치를 계산해요.
- print(통계치): 계산된 통계치를 화면에 출력해요.
2. scipy.stats의 describe 함수
pandas 외에도 파이썬의 scipy 라이브러리에도 describe라는 함수가 있어요. 이 함수는 숫자로 이루어진 배열의 여러 통계 정보를 한 번에 반환해 줍니다. 예를 들어, 배열의 개수, 최소값, 최대값, 평균, 분산, 왜도(skewness), 첨도(kurtosis) 등을 계산할 수 있어요.
예제 코드
from scipy import stats
# 숫자로 이루어진 데이터를 만들어요.
data = [1, 2, 3, 4, 5]
# scipy.stats의 describe 함수를 사용해요.
결과 = stats.describe(data)
print(결과)
코드 설명
- from scipy import stats: scipy 라이브러리의 stats 모듈을 불러와요.
- data: 간단한 숫자 리스트를 만듭니다.
- stats.describe(data): 리스트 내의 숫자에 대한 통계치를 계산해요.
- print(결과): 계산된 결과를 출력해요.
3. 왜 describe 함수를 사용할까요?
- 빠른 통계 요약: 많은 데이터의 통계적 특징을 한눈에 볼 수 있어요.
- 데이터 검증: 데이터가 예상한 범위 내에 있는지, 이상치가 있는지 확인할 때 유용해요.
- 분석 시작 단계: 데이터 분석을 시작할 때 데이터의 분포와 특성을 이해하는 데 도움을 줘요.
4. 예시: 학생들의 성적 데이터
초등학생 친구들이 이해하기 쉽게 예시를 들어볼게요.
예를 들어, 학생들의 수학 성적이 저장된 데이터가 있다고 생각해 보세요.
import pandas as pd
# 학생들의 수학 성적 데이터를 만들어요.
성적 = {
'수학성적': [80, 85, 78, 90, 88]
}
학생데이터 = pd.DataFrame(성적)
# describe 함수를 사용하여 성적의 통계치를 확인해요.
성적통계 = 학생데이터.describe()
print(성적통계)
여기서 출력되는 결과는 학생들의 성적이 평균 얼마인지, 가장 낮은 성적과 높은 성적이 무엇인지 등을 보여줍니다. 이렇게 하면 선생님이나 친구들이 전체적인 성적 분포를 쉽게 파악할 수 있겠죠?
'데이터분석 공부 > 함수 정리' 카테고리의 다른 글
요약통계 = df.describe(include='all') (0) | 2025.02.24 |
---|---|
.items() (0) | 2025.02.21 |
if-else 문 (0) | 2025.02.21 |
range() 함수 (0) | 2025.02.21 |
plt.xticks() 함수 (0) | 2025.02.20 |