인공지능/파이썬

파이썬(Python) - RANK

해피밀세트 2020. 3. 10. 16:17
반응형

 

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)

반응형