[파이썬] 데이터 정렬과 순위

데이터 정렬은 데이터를 특정한 기준에 따라 순서대로 나열하는 작업을 말합니다. 파이썬은 데이터 정렬을 쉽게 처리할 수 있는 다양한 방법을 제공합니다. 이 글에서는 파이썬 내장 함수와 외부 패키지인 pandas를 활용하여 데이터를 정렬하고 순위를 매기는 방법에 대해 알아보겠습니다.

데이터 정렬

내장 함수 sorted()

파이썬의 내장 함수인 sorted()는 리스트, 튜플, 딕셔너리 등의 컬렉션을 정렬할 수 있습니다. 이 함수를 사용하여 데이터를 원하는 기준에 따라 정렬할 수 있습니다. 예를 들어, 다음은 문자열로 이루어진 리스트를 알파벳 순서대로 정렬하는 예제입니다.

fruits = ['apple', 'banana', 'cherry', 'durian']
sorted_fruits = sorted(fruits)
print(sorted_fruits)

결과:

['apple', 'banana', 'cherry', 'durian']

pandas 패키지를 이용한 데이터 정렬

pandas는 파이썬에서 데이터를 다루는 데 사용되는 강력한 패키지입니다. 이 패키지를 사용하면 데이터프레임 형태로 데이터를 정렬할 수 있습니다.

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 28, 31, 29]}
df = pd.DataFrame(data)

sorted_df = df.sort_values('Age')
print(sorted_df)

결과:

      Name  Age
0    Alice   25
1      Bob   28
3    David   29
2  Charlie   31

데이터 순위

내장 함수 sorted()를 이용한 순위

파이썬의 내장 함수 sorted()를 사용하여 데이터의 순위를 매길 수 있습니다. 예를 들어, 다음은 점수로 이루어진 리스트를 오름차순으로 정렬하고 순위를 매기는 예제입니다.

scores = [80, 95, 70, 85]
sorted_scores = sorted(scores)
ranking = [sorted_scores.index(score) + 1 for score in scores]
print(ranking)

결과:

[2, 4, 1, 3]

pandas 패키지를 이용한 데이터 순위

pandas 패키지를 이용하면 좀 더 편리하게 데이터의 순위를 매길 수 있습니다. rank() 메서드를 사용하여 데이터프레임 내의 열을 기준으로 순위를 매길 수 있습니다. 예를 들어, 다음은 점수로 이루어진 데이터프레임을 사용하여 순위를 매기는 예제입니다.

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Score': [80, 95, 70, 85]}
df = pd.DataFrame(data)

df['Rank'] = df['Score'].rank(ascending=False)
print(df)

결과:

      Name  Score  Rank
0    Alice     80   3.0
1      Bob     95   1.0
2  Charlie     70   4.0
3    David     85   2.0

위 예제에서는 Score 열을 기준으로 내림차순으로 순위를 매깁니다.

데이터 정렬과 순위 매기기는 데이터 분석 작업에서 매우 중요한 단계입니다. 파이썬의 내장 함수와 pandas 패키지를 활용하여 데이터를 손쉽게 정렬하고 순위를 매길 수 있습니다. 다양한 상황에 따라 알맞은 방법을 선택하여 데이터 분석 작업을 진행하세요.