반응형

14-03 중앙값 (median)

DataFrame.median(axis=None, skipna=None, level=None, numeric_only=None, kwargs)

 

개요


median메서드는 행/열의 값들의 중앙값을 구하는 메서드입니다.
만약 수의 갯수가 짝수이면 중앙값 두 값의 평균값을 반환합니다.

 

사용법


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.median(axis=None, skipna=None, level=None, numeric_only=None, kwargs)
axis : {0 : index / 1 : columns} 계산의 기준이 될 축입니다.
skipna : 결측치를 무시할지 여부입니다.
level : Multi Index의 경우 연산을 수행할 레벨입니다.
numeric_only : 숫자, 소수, 부울만 이용할지 여부입니다.
kwargs : 함수에 전달할 추가 키워드입니다.

반응형

 

예시


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

[N,T,F]=[np.NaN,True,False]
idx = [['IDX1','IDX1','IDX2','IDX2'],['row1','row2','row3','row4']]
col = [['COL1','COL1','COL2','COL2'],['val1','val2','val3','val4']]
data = [[N,13,3,4],[5,7,10,8],[15,6,N,3],[2,14,9,1]]
df = pd.DataFrame(data,idx,col)
print(df)
>>
           COL1       COL2     
           val1 val2  val3 val4
IDX1 row1   NaN   13   3.0    4
     row2   5.0    7  10.0    8
IDX2 row3  15.0    6   NaN    3
     row4   2.0   14   9.0    1

기본적인 사용법(+axis)
기본적으로 median을 그대로 사용할 경우 모든 행/열에 대해서 연산을 수행합니다.
만약 수의 갯수가 짝수이면 중앙값 두 값의 평균값을 반환합니다.

print(df.median())
>>
COL1  val1     5.0 # 2, 5, 15의 중앙값인 5
      val2    10.0 # 6, 7, 13, 14 의 중앙값은 7과 13의 평균인 10
COL2  val3     9.0
      val4     3.5
dtype: float64

axis 인수를 이용하여 대상 축을 지정할 수 있습니다.

print(df.median(axis=1))
>>
IDX1  row1    4.0
      row2    7.5
IDX2  row3    6.0
      row4    5.5
dtype: float64


skipna인수의 사용
skipna인수를 이용하여 결측치를 무시할지 정할 수 있습니다.

print(df.median(skipna=True))
>>
COL1  val1     5.0
      val2    10.0
COL2  val3     9.0
      val4     3.5
dtype: float64
print(df.median(skipna=False))
>>
COL1  val1     NaN
      val2    10.0
COL2  val3     NaN
      val4     3.5
dtype: float64


level인수의 사용
Multi Index의 경우 대상 level을 지정할 수 있습니다.

print(df.median(level=0))
>>
     COL1       COL2     
     val1  val2 val3 val4
IDX1  5.0  10.0  6.5  6.0
IDX2  8.5  10.0  9.0  2.0
# print(df.groupby(level=0).median())와 완전히 동일합니다.
반응형

+ 최근 글