표준편차(Standard Deviation)는 데이터셋 내 값들이 평균을 중심으로 얼마나 넓게 퍼져 있는지를 나타내는 대표적인 통계 지표입니다. 즉, 각 값이 해당 열의 산술 평균으로부터 얼마나 떨어져 있는지를 수치화하여 보여줍니다.
데이터 분석 과정에서는 때때로 전체 데이터가 아닌, 숫자형으로 구성된 특정 열의 표준편차만 필요한 경우가 있습니다. 이럴 때 Pandas에서 제공하는 std() 함수를 활용하면 간단하게 해결할 수 있습니다.
사용 방법은 매우 직관적입니다. 표준편차를 구하고자 하는 열 이름으로 데이터프레임을 인덱싱한 뒤, 점(.) 연산자를 통해 std() 함수를 호출하면 됩니다. 또한 열 이름 대신 열의 인덱스 위치를 지정하여 표준편차를 구할 수도 있습니다.
예제 코드
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 standard deviation of column 'Age' is :")
print(my_df['Age'].std())
print("The standard deviation of column 'value' is :")
print(my_df['value'].std())
실행 결과
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 standard deviation of column 'Age' is :
31.499206339207976
The standard deviation of column 'value' is :
35.747101700697364
코드 설명
필요한 라이브러리를 임포트하고, 이후 편리하게 사용할 수 있도록 별칭(alias)을 지정합니다.
키(key)와 값(value)으로 구성된 시리즈(Series) 딕셔너리를 생성합니다. 여기서 각 값은 실제로 시리즈라는 데이터 구조입니다.
생성한 딕셔너리를 Pandas 라이브러리의
DataFrame함수에 매개변수로 전달하여 데이터프레임을 만듭니다.완성된 데이터프레임을 콘솔에 출력하여 확인합니다.
이 예제의 목표는 숫자형 값을 포함하는 특정 열의 표준편차를 계산하는 것입니다.
점 연산자를 사용하고 열 이름을 지정함으로써 데이터프레임 객체에
std()함수를 호출합니다.계산된 숫자형 열의 표준편차가 콘솔에 출력됩니다.
참고 사항
Pandas의 std() 함수는 기본적으로 표본 표준편차(sample standard deviation)를 계산하며, 자유도(ddof)의 기본값은 1입니다. 모집단 표준편차가 필요한 경우 std(ddof=0)처럼 옵션을 지정하면 됩니다. 또한 df.std(numeric_only=True)를 사용하면 데이터프레임의 모든 숫자형 열에 대한 표준편차를 한 번에 구할 수 있습니다.