콘텐츠로 건너뛰기

데이터프레임 컬럼으로 정렬하는 방법은?

[

판다스 데이터프레임의 열을 기준으로 정렬하기

이 튜토리얼에서는 판다스의 정렬 메서드인 .sort_values().sort_index()를 사용하여 데이터프레임을 효율적으로 정렬하는 방법에 대해 알아보겠습니다.

이 튜토리얼을 완료하면 다음을 할 수 있게 됩니다:

  • 하나 이상의 열 값을 기준으로 판다스 데이터프레임을 정렬하는 방법
  • ascending 매개변수를 사용하여 정렬 순서 변경하기
  • 인덱스를 기준으로 데이터프레임을 정렬하는 방법(.sort_index())
  • 값 정렬 시 누락된 데이터 처리하기
  • inplace 매개변수를 사용하여 데이터프레임을 원본 데이터에 바로 정렬하기

무료 보너스: 여기를 클릭하여 파이썬 차트 시트를 받아 보세요. 이 차트 시트를 통해 데이터 타입, 사전, 리스트, 파이썬 함수 등 파이썬 3의 기초 개념을 익힐 수 있습니다.

판다스 정렬 메서드 시작하기

다음은 데이터 정렬을 시작하기 전에 잠시 상기해야 할 내용입니다:

  • 파이썬과 판다스에 대한 기본적인 지식이 있어야 합니다.
  • 데이터프레임을 생성하고 데이터를 읽어 오는 방법을 알고 있어야 합니다.
import pandas as pd
# 데이터프레임 생성
data = {'Name': ['John', 'Emma', 'Alex', 'Jessica'],
'Age': [30, 25, 21, 35],
'City': ['New York', 'Paris', 'London', 'Sydney']}
df = pd.DataFrame(data)
print(df)

출력 결과:

Name Age City
0 John 30 New York
1 Emma 25 Paris
2 Alex 21 London
3 Jessica 35 Sydney

이제 데이터프레임이 준비되었으므로 .sort_values().sort_index()를 사용하여 데이터프레임을 정렬하는 방법을 알아보겠습니다.

.sort_values()로 데이터프레임 정렬하기

.sort_values() 메서드는 데이터프레임을 지정한 열 값을 기준으로 정렬하는 데 사용됩니다. 기본적으로 오름차순(낮은 값부터 높은 값)으로 정렬됩니다.

하나의 열을 기준으로 오름차순으로 정렬하기

여기서는 .sort_values()를 사용하여 Age 열을 기준으로 오름차순으로 데이터프레임을 정렬하는 예제를 살펴보겠습니다.

# Age 열을 기준으로 오름차순으로 정렬
df_sorted = df.sort_values('Age')
print(df_sorted)

출력 결과:

Name Age City
2 Alex 21 London
1 Emma 25 Paris
0 John 30 New York
3 Jessica 35 Sydney

정렬 순서 변경하기

.sort_values()ascending 매개변수를 사용하여 정렬 순서를 변경할 수 있습니다.

# Age 열을 기준으로 내림차순으로 정렬
df_sorted = df.sort_values('Age', ascending=False)
print(df_sorted)

출력 결과:

Name Age City
3 Jessica 35 Sydney
0 John 30 New York
1 Emma 25 Paris
2 Alex 21 London

정렬 알고리즘 선택하기

.sort_values()는 정렬 알고리즘을 선택할 수 있는 kind 매개변수도 제공합니다. 기본적으로는 quicksort(퀵 정렬) 알고리즘이 사용됩니다.

# merge sort 알고리즘을 사용하여 Age 열을 기준으로 정렬
df_sorted = df.sort_values('Age', kind='mergesort')
print(df_sorted)
[![](/banner-2.png)](/python/)