본문 바로가기
판다스/판다스 팁

[pandas] 특정 대상만 끌어 올려 정렬하기

by 김판다t 2024. 3. 28.

 

예제

 

import pandas as pd

data1 = {'col1': pd.Index(['B', 'C', 'A', 'E', 'D']).repeat([2, 3, 1, 1, 1]), 
         'col2': [5, 0, 3, 3, 7, 9, 3, 5]}
df = pd.DataFrame(data1)

 

 

df:

 

 

 

정렬 예제

 

 

D를 가장 위에 올리고 E를 다음으로 올리고 나머지는 알파벳 순서로 정렬하라

 

 

 

 

 

 

 

 

sort_values 함수의 매개변수 key를 사용해 정렬을 수행합니다.

 

# 정렬 대상
order = {'D': 0, 'E': 1}

# sort_values의 매개변수 key로 정렬
out = df.sort_values(
    by="col1", 
    key=lambda x: [(order.get(i, float('inf')), i) for i in x]
)

 

 

out:

 

 

 

 

 

 

교보문고 구매 페이지, 알라딘 구매 페이지yes24 구매 페이지