데이터프레임이 있을 때, 분포의 모양을 정량화하면 다음과 같은 결과를 얻을 수 있다고 가정해 보겠습니다.
kurtosis is: Column1 -1.526243 Column2 1.948382 dtype: float64 asymmetry distribution - skewness is: Column1 -0.280389 Column2 1.309355 dtype: float64
해결 방법
이 문제를 해결하려면 아래 단계를 따르면 됩니다.
데이터프레임을 정의합니다.
df.kurt(axis=0)을 적용하여 분포의 첨도(kurtosis), 즉 분포의 뾰족한 정도를 계산합니다.df.skew(axis=0)을 적용하여 축 0을 기준으로 비대칭성을 나타내는 왜도(skewness)를 계산합니다.
첨도(Kurtosis)와 왜도(Skewness)란?
첨도(kurtosis)는 분포가 정규분포에 비해 얼마나 뾰족하거나 평평한지를 나타내는 지표입니다. 값이 클수록 꼬리가 두껍고 중심이 뾰족한 분포를 의미하며, 음수이면 상대적으로 평평한 분포를 나타냅니다.
왜도(skewness)는 분포의 비대칭 정도를 측정합니다. 양수이면 오른쪽으로 꼬리가 긴 분포, 음수이면 왼쪽으로 꼬리가 긴 분포를 의미합니다.
예제 코드
다음 코드를 통해 더 자세히 이해할 수 있습니다.
import pandas as pd
data = {"Column1":[12,34,56,78,90],
"Column2":[23,30,45,50,90]}
df = pd.DataFrame(data)
print("DataFrame is:\n",df)
kurtosis = df.kurt(axis=0)
print("kurtosis is:\n",kurtosis)
skewness = df.skew(axis=0)
print("asymmetry distribution - skewness is:\n",skewness)출력 결과
DataFrame is: Column1 Column2 0 12 23 1 34 30 2 56 45 3 78 50 4 90 90 kurtosis is: Column1 -1.526243 Column2 1.948382 dtype: float64 asymmetry distribution - skewness is: Column1 -0.280389 Column2 1.309355 dtype: float64