데이터 분석을 할 때 다양한 함수를 적용하면 여러 유용한 정보를 얻을 수 있습니다. 하지만 데이터에 대한 전체적인 통계 정보를 한 번에 확인하고 싶다면 'describe' 함수를 사용하는 것이 가장 효과적입니다.
이 함수는 개수(count), 평균(mean), 표준편차(standard deviation), 최솟값, 최댓값은 물론 25%, 50%(중앙값), 75% 백분위수까지 포함한 주요 기술 통계량을 자동으로 계산하여 보여줍니다. 덕분에 복잡한 코드 없이도 데이터의 분포와 특성을 빠르게 파악할 수 있습니다.
예제 코드
import pandas as pd
my_data = {'Name':pd.Series(['Tom','Jane','Vin','Eve','Will']),
'Age':pd.Series([45, 67, 89, 12, 23]),'value':pd.Series([8.79,23.24,31.98,78.56,90.20])
}
print("The dataframe is :")
my_df = pd.DataFrame(my_data)
print(my_df)
print("The description of data is :")
print(my_df.describe())실행 결과
The dataframe is : Name Age value 0 Tom 45 8.79 1 Jane 67 23.24 2 Vin 89 31.98 3 Eve 12 78.56 4 Will 23 90.20 The description of data is : Age value count 5.000000 5.000000 mean 47.200000 46.554000 std 31.499206 35.747102 min 12.000000 8.790000 25% 23.000000 23.240000 50% 45.000000 31.980000 75% 67.000000 78.560000 max 89.000000 90.200000
코드 설명
- pandas 라이브러리를 임포트하고, 사용 편의성을 위해 별칭(alias)인 'pd'를 지정합니다.
- 키(key)와 값(value)으로 구성된 시리즈 딕셔너리를 생성합니다. 이때 각 값은 실제로 pandas의 시리즈(Series) 데이터 구조입니다.
- 생성된 딕셔너리는 pandas 라이브러리의 'DataFrame' 함수에 매개변수로 전달되어 데이터프레임으로 변환됩니다.
- 완성된 데이터프레임이 콘솔에 출력됩니다.
- 데이터에 대한 모든 통계 정보를 한 번에 확인하기 위해 데이터프레임 객체에 'describe' 함수를 호출합니다.
- 숫자형 열(Age, value)에 대한 요약 통계 결과가 콘솔에 출력됩니다.
참고: 문자열 열까지 포함하려면?
기본적으로 describe() 함수는 숫자형 열만 요약합니다. 예제의 'Name'처럼 문자열(object) 열까지 포함하고 싶다면 아래와 같이 옵션을 지정하면 됩니다.
my_df.describe(include='all')
이 경우 고유값 개수(unique), 최빈값(top), 최빈값의 빈도(freq) 같은 추가 정보도 함께 확인할 수 있어 범주형 데이터 분석에도 유용합니다.