Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python pandas로 DataFrame을 Name(이름) 열 기준 내림차순 정렬하는 방법

문제 개요

pandas 라이브러리의 sort_values() 메서드를 사용하면 DataFrame의 특정 열을 기준으로 데이터를 간단하게 정렬할 수 있습니다. 이 글에서는 Name(이름) 열을 기준으로 데이터를 내림차순(알파벳 역순)으로 정렬하는 Python 프로그램을 작성하는 방법을 알아보겠습니다.


입력

다음과 같은 샘플 DataFrame이 있다고 가정합니다.

  Id Name
0 1 Adam
1 2 Michael
2 3 David
3 4 Jack
4 5 Peter

출력

Name 열을 기준으로 내림차순 정렬하면 결과는 다음과 같습니다.

  Id Name
4 5 Peter
1 2 Michael
3 4 Jack
2 3 David
0 1 Adam

해결 방법

이 문제는 다음 두 단계로 해결할 수 있습니다.

  • 먼저 DataFrame을 정의합니다.

  • sort_values() 메서드에 정렬 기준이 될 열 이름(by='Name')을 지정하고, ascending=False 옵션을 추가하여 데이터를 내림차순으로 정렬합니다.

df.sort_values(by='Name',ascending=False)

참고: sort_values()는 원본 DataFrame을 변경하지 않고 정렬된 새로운 DataFrame을 반환합니다. 만약 원본 데이터 자체를 정렬된 상태로 유지하고 싶다면 inplace=True 옵션을 함께 사용하면 됩니다.

예제

아래 예제를 통해 실제 동작 과정을 자세히 살펴보겠습니다.

import pandas as pd
data = {'Id': [1,2,3,4,5],'Name': ['Adam','Michael','David','Jack','Peter']}
df = pd.DataFrame(data)
print("Before sorting:\n", df)
print("After sorting:\n", df.sort_values(by='Name',ascending=False))

코드 설명

  • import pandas as pd: pandas 라이브러리를 불러옵니다.

  • 딕셔너리 형태의 데이터(Id와 Name 열)를 사용해 DataFrame을 생성합니다.

  • df.sort_values(by='Name', ascending=False): Name 열의 값을 알파벳 역순(Peter → Michael → Jack → David → Adam)으로 정렬합니다.

실행 결과

Before sorting:
  Id Name
0 1 Adam
1 2 Michael
2 3 David
3 4 Jack
4 5 Peter
After sorting:
  Id Name
4 5 Peter
1 2 Michael
3 4 Jack
2 3 David
0 1 Adam

실행 결과를 보면 Name 열이 알파벳 역순으로 정렬되었으며, 각 행의 Id 값도 해당 행과 함께 이동한 것을 확인할 수 있습니다. 이처럼 sort_values() 메서드 하나만으로 DataFrame의 원하는 열을 오름차순 또는 내림차순으로 손쉽게 정렬할 수 있습니다.