파이썬(Python) - RANK
Rank
- 주로 TOP-N 분석, 순위구하기에 사용됨
- 값의 위치 / 순위로 표시된다.
obj = Series([70,80,60,90,50,70,90,30,100])
obj
# 작은값이 1등 obj.rank() |
![]() |
# 큰값이 1등 obj.rank(ascending=False) |
![]() |
# 같은 값을 순위의 평균으로 만든것(기본값) obj.rank(ascending=False, method='average')
|
![]() |
# 같은 값은 앞순위로 맞춤 obj.rank(ascending=False, method='min')
|
![]() |
# 같은 값은 뒷순위로 맞춤 obj.rank(ascending=False, method='max')
|
![]() |
# 같은 값은 먼저 나온 순서대로 순위를 매김 obj.rank(ascending=False, method='first')
|
![]() |
# 같은 값은 똑같은 순위로 출력 obj.rank(ascending=False, method='dense')
|
![]() |
NaN이 들어간 랭크
obj = Series([70,80,60,np.nan,30,100])
obj
obj.rank() |
![]() |
# NaN값의 순위는 NaN (기본값) obj.rank(na_option='keep')
|
![]() |
# NaN을 1순위 obj.rank(na_option='top')
|
![]() |
# NaN을 끝순위 obj.rank(na_option='bottom')
|
![]() |
시리즈 순위를 데이터프레임으로 만들기
obj = Series([70,80,60,90,50,70,90,30,100])
df = DataFrame({'순위':obj.rank(ascending=False, method='dense'), '점수':obj})
df
순위를 정수형을 변환
df['순위']=df['순위'].astype('int')
df
순위대로 정렬
df.sort_values(by='순위',axis=0,ascending=True)