Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 데이터프레임 분포의 모양 정량화하기: 첨도와 왜도 계산

데이터프레임이 있을 때, 분포의 모양을 정량화하면 다음과 같은 결과를 얻을 수 있다고 가정해 보겠습니다.

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