오늘 할 일: 끝내주게 숨쉬기

idxmax와 idxmin은 행별로 또는 열별로 최댓값 및 최솟값의 인덱스를 반환하는 메소드입니다. 어떤 열에서 최댓값을 갖는 데이터(인스턴스)의 인덱스를 추출할 때 유용하게 사용할 수 있을 것 같습니다..

 

parameter

  • axis: 0(행, 행의 정보를 압축한다는 의미로 열별 결과를 반환) 또는 1(열, 열의 정보를 압축한다는 의미로 행별 결과를 반환)(default=0)
  • skip: 결측값을 무시할지 여부를 설정(default=True), False인 경우 결측치를 포함한 행/열에 대해 NaN을 반환함

 

예시를 위해 사용할 임시 데이터를 만들었습니다.

idx =  ['row1','row2','row3', 'row4']
col =  ['col1','col2','col3', 'col4']
data = [[200, 2, 200, np.NaN], 
        [100, 5, 6, 7],
        [7, 300, np.NaN, 10],
        [100, 5, 6, 1]]
df = pd.DataFrame(data, idx, col)
print(df)
      col1  col2   col3  col4
row1   200     2  200.0   NaN
row2   100     5    6.0   7.0
row3     7   300    NaN  10.0
row4   100     5    6.0   1.0

 

 

idxmax

df.idxmax(axis=0)
col1    row1
col2    row3
col3    row1
col4    row3
dtype: object

열별로 최댓값의 행 인덱스를 반환합니다. .

 

df.idxmax(axis=0, skipna=False)
col1    row1
col2    row3
col3     NaN
col4     NaN
dtype: object

열별로 최댓값의 행 인덱스를 반환하되, 결측값이 있는 경우 NaN을 출력합니다.

 

df.idxmax(axis=1)
row1    col1
row2    col1
row3    col2
row4    col1
dtype: object

행별로 최댓값의 칼럼명을 반환합니다. 중복값이 있는 경우, 앞 순서인 인덱스를 반환합니다.

 

df.idxmax(axis=1, skipna=False)
row1     NaN
row2    col1
row3     NaN
row4    col1
dtype: object

skipna=False인 경우 결측치가 포함된 행/열에 대해 nan을 반환합니다

 

 

idxmin

df.idxmin(axis=0)
col1    row3
col2    row1
col3    row2
col4    row4
dtype: object

칼럼별로 최솟값의 행 인덱스를 반환합니다.

 

df.idxmin(axis=1)
row1    col2
row2    col2
row3    col1
row4    col4
dtype: object

행별로 최솟값의 칼럼명을 반환합니다.

 

 

참고

https://wikidocs.net/154693

 

12-01. 최대/최소값이 포함된 행/열 (idxmax / idxmin)

####DataFrame.idxmax(axis=0, skipna=True) ####DataFrame.idxmin(axis=0, skipna=True) ##개요 `idxma ...

wikidocs.net

⬆ 판다스 데이터프레임을 가공하는 다양한 방법을 소개하고 있는 위키독스입니다. 데이터프레임을 변환하거나 정보를 뽑아낼 때 사용하면 유용할 함수들을 알려줘서 분석에 많은 도움이 될 것 같습니다.