반응형
14-01 최대/최소 (max / min)
DataFrame.max(axis=None, skipna=None, level=None, numeric_only=None, kwargs)
DataFrame.min(axis=None, skipna=None, level=None, numeric_only=None, kwargs)
개요
min / max 메서드는 행/열 의 최대값, 최소값을 구하는 메서드 입니다.
사용법
기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.max(axis=None, skipna=None, level=None, numeric_only=None, kwargs)
df.min(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)
기본적으로 df.max( ) / df.min( )를 사용할 경우 모든 행/열에 대해서 최대/최소 값을 찾습니다.
print(df.max())
>>
COL1 val1 15.0
val2 14.0
COL2 val3 10.0
val4 8.0
dtype: float64
axis를 설정해 줄 경우 축을 지정할 수 있습니다.
print(df.max(axis=1))
>>
IDX1 row1 13.0
row2 10.0
IDX2 row3 15.0
row4 14.0
dtype: float64
skipna인수의 사용
skipna인수를 사용할 경우 계산에 대해서 결측치를 포함하거나 제외시킬 수 있습니다.
print(df.max(skipna=True))
>>
COL1 val1 15.0
val2 14.0
COL2 val3 10.0
val4 8.0
dtype: float64
print(df.max(skipna=False))
>>
COL1 val1 NaN
val2 14.0
COL2 val3 NaN
val4 8.0
dtype: float64
level의 설정
Multi Index의 경우 연산을 수행할 level을 지정할 수 있습니다.
print(df.max(level=0))
>>
COL1 COL2
val1 val2 val3 val4
IDX1 5.0 13 10.0 8
IDX2 15.0 14 9.0 3
# print(df.groupby(level=0).max()) 와 동일한 역할을 수행
min메서드의 경우
이 아래는 위 예시와 동일하게 min메서드를 수행한 경우 입니다.
print(df.min())
>>
COL1 val1 2.0
val2 6.0
COL2 val3 3.0
val4 1.0
dtype: float64
print(df.min(axis=1))
>>
IDX1 row1 3.0
row2 5.0
IDX2 row3 3.0
row4 1.0
dtype: float64
print(df.min(skipna=True))
>>
COL1 val1 2.0
val2 6.0
COL2 val3 3.0
val4 1.0
dtype: float64
print(df.min(skipna=False))
>>
COL1 val1 NaN
val2 6.0
COL2 val3 NaN
val4 1.0
dtype: float64
print(df.min(level=0))
>>
COL1 COL2
val1 val2 val3 val4
IDX1 5.0 7 3.0 4
IDX2 2.0 6 9.0 1
# print(df.groupby(level=0).min())와 동일
반응형
'파이썬완전정복-Pandas DataFrame > 14. 통계(기초)' 카테고리의 다른 글
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 |
Pandas DataFrame 14-03 중앙값 (median) (0) | 2022.02.07 |
Pandas DataFrame 14-02 평균 (mean) (0) | 2022.02.07 |