반응형
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())와 완전 동일
반응형
'파이썬완전정복-Pandas DataFrame > 14. 통계(기초)' 카테고리의 다른 글
Pandas DataFrame 14-09 누적합/누적곱 (cumsum / cumprod) (0) | 2022.02.07 |
---|---|
Pandas DataFrame 14-08 누적 최대/최소 (cummax / cummin) (0) | 2022.02.07 |
Pandas DataFrame 14-06 분산 (var) (0) | 2022.02.07 |
Pandas DataFrame 14-05 표준편차 (std) (0) | 2022.02.07 |
Pandas DataFrame 14-04 최빈값 (mode) (0) | 2022.02.07 |