반응형

14-07 평균절대편차 (mad)

DataFrame.mad(axis=None, skipna=None, level=None)

 

개요


mad메서드는 지정한 행/열의 평균절대편차를 구하는 메서드입니다.
평균절대편차는 각 측정값과 평균 사이의 거리의 평균입니다. 값들의 산포도를 의미합니다.

여기에 이미지 첨부

 

사용법


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.mad(axis=None, skipna=None, level=None)
axis : 누적합/누적곱을 구할 축을 지정합니다.
skipna : 결측치를 무시할지 여부 입니다
level : Multi Index의 경우 계산할 레벨을 지정할 수 있습니다.

반응형

 

예시


먼저 기본적인 사용법 예시를 위해 4x4짜리 Multi Index 객체를 생성하겠습니다.

[N,T,F]=[np.NaN,True,False]
idx = [['idx1','idx1','idx2','idx2'],['row1','row2','row3','row4']]
col = ['col1','col2','col3','col4']
data = [[1,-7,13,2],[9,2,-3,8],[8,N,3,0],[-1,12,9,7]]
df = pd.DataFrame(data,idx,col)
print(df)
>>
           col1  col2  col3  col4
idx1 row1     1  -7.0    13     2
     row2     9   2.0    -3     8
idx2 row3     8   NaN     3     0
     row4    -1  12.0     9     7

기본적인 사용법(+axis)
mad는 각 측정값과 평균 사이의 거리의 평균인 평균절대편차를 구하는 메서드입니다.

print(df.mad())
>>
col1    4.250000
col2    6.444444
col3    5.500000
col4    3.250000
dtype: float64

기본적으로 열에 대해서 계산하지만, axis=1을 이용해 행 기준으로 계산 할 수 있습니다.

print(df.mad(axis=1))
>>
idx1  row1    5.375000
      row2    4.500000
idx2  row3    2.888889
      row4    3.875000
dtype: float64


skipna인수의 사용
skipna=False인 경우 계산값에 결측치가 포함되어있으면 NaN을 반환하게됩니다.

print(df.mad(skipna=False))
>>
col1    4.25
col2     NaN # NaN이 포함된 경우 NaN반환
col3    5.50
col4    3.25
dtype: float64


level인수의 사용
Multi Index의 경우 level인수를 이용해서 레벨의 지정이 가능합니다.

print(df.mad(level=0))
>>
      col1  col2  col3  col4
idx1   4.0   4.5   8.0   3.0
idx2   4.5   0.0   3.0   3.5
# print(df.groupby(level=0).mad())와 완전 동일
반응형

+ 최근 글