Pandas에서 데이터를 정렬하는 방법
Pandas에서 데이터를 정렬하는 방법
데이터 분석에서 정렬(Sorting)은 데이터를 이해하고 분석하는 데 중요한 단계입니다. Pandas는 Python을 사용하여 데이터를 효율적으로 정렬할 수 있는 강력한 기능을 제공합니다.
이 글에서는 Pandas의 sort_values()와 sort_index() 메서드를 활용하여 데이터를 정렬하는 방법을 살펴보겠습니다.
1. sort_values()를 사용하여 특정 열을 기준으로 정렬하기
sort_values() 메서드는 데이터프레임의 하나 이상의 열을 기준으로 데이터를 정렬할 수 있게 해줍니다. 기본적으로 오름차순(ascending)으로 정렬되지만, 매개변수를 통해 내림차순으로 정렬할 수도 있습니다.
import pandas as pd
# 예시 데이터프레임 생성
data = {'이름': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'나이': [25, 32, 23, 35, 29],
'점수': [85, 88, 91, 79, 95]}
df = pd.DataFrame(data)
# 나이를 기준으로 오름차순 정렬
df_sorted = df.sort_values(by='나이')
df_sorted위 코드에서는 나이 열을 기준으로 데이터를 오름차순으로 정렬합니다. 결과는 나이가 작은 순서대로 정렬된 데이터프레임이 됩니다.
2. 내림차순으로 정렬하기
ascending=False 매개변수를 사용하여 데이터를 내림차순으로 정렬할 수 있습니다.
# 점수를 기준으로 내림차순 정렬
df_sorted_desc = df.sort_values(by='점수', ascending=False)
df_sorted_desc여기서는 점수 열을 기준으로 내림차순 정렬을 수행합니다. 가장 높은 점수를 받은 사람이 맨 위에 표시됩니다.
3. 여러 열을 기준으로 정렬하기
sort_values() 메서드를 사용하면 여러 열을 기준으로 데이터를 정렬할 수 있습니다. 예를 들어, 먼저 나이를 기준으로 오름차순 정렬하고, 점수를 기준으로 내림차순 정렬하고 싶을 때 다음과 같이 할 수 있습니다.
# 나이 오름차순, 점수 내림차순으로 정렬
df_sorted_multiple = df.sort_values(by=['나이', '점수'], ascending=[True, False])
df_sorted_multiple이 경우, 나이가 동일한 경우에만 점수를 내림차순으로 정렬합니다.
4. sort_index()를 사용하여 인덱스를 기준으로 정렬하기
sort_index() 메서드는 데이터프레임의 인덱스를 기준으로 정렬할 때 사용됩니다. 이 메서드는 인덱스를 오름차순 또는 내림차순으로 정렬할 수 있습니다.
# 인덱스를 기준으로 오름차순 정렬
df_sorted_index = df.sort_index()
df_sorted_index기본적으로 sort_index()는 인덱스를 오름차순으로 정렬합니다. 만약 내림차순으로 정렬하고 싶다면, ascending=False 매개변수를 사용하면 됩니다.
# 인덱스를 기준으로 내림차순 정렬
df_sorted_index_desc = df.sort_index(ascending=False)
df_sorted_index_desc5. 정렬된 데이터프레임의 인덱스 재설정하기
정렬 후 새로운 인덱스를 설정하고 싶을 때는 reset_index() 메서드를 사용할 수 있습니다. 이는 정렬된 결과에 따라 인덱스를 0부터 재설정해줍니다.
# 나이 기준으로 정렬 후 인덱스 재설정
df_sorted_reset = df.sort_values(by='나이').reset_index(drop=True)
df_sorted_reset여기서 drop=True는 기존 인덱스를 새로운 열로 추가하지 않고 삭제하는 옵션입니다.
6. 정렬된 데이터프레임을 원래 상태로 되돌리기
정렬된 데이터를 원래 순서로 되돌리고 싶다면, sort_index() 메서드를 사용하여 원래의 인덱스 순서로 정렬할 수 있습니다. 처음 데이터를 불러올 때 reset_index()를 사용하지 않았다면, 인덱스는 그대로 유지되기 때문입니다.
# 원래의 인덱스 순서로 되돌리기
df_original = df_sorted.sort_index()
df_original마무리
Pandas에서 데이터를 정렬하는 방법을 이해하면 데이터 분석 과정에서 중요한 통찰을 더 쉽게 얻을 수 있습니다. sort_values()와 sort_index()는 매우 유연하고 강력한 도구로, 데이터를 다양한 방식으로 정렬할 수 있습니다.
<h3>카테고리 다른 글</h3>
| Date | Title | Author |
|---|---|---|
| Oct 3, 2024 | Pandas에서 Column 추가 및 삭제하는 방법 | |
| Oct 3, 2024 | Pandas 데이터프레임 mongodb에 저장하기 | |
| Sep 21, 2024 | Pandas에서 결측치(NaN) 처리하기 | |
| Sep 11, 2024 | Pandas SQL 쿼리 이용하기 | |
| Aug 29, 2024 | Pandas에서 데이터 형식 변경하기 | |
| Aug 29, 2024 | Pandas에서 인덱싱 및 슬라이싱하는 방법 | |
| Aug 27, 2024 | Pandas SQL 데이터베이스 읽어오기 | |
| Aug 26, 2024 | Pandas groupby 사용방법 | |
| Aug 26, 2024 | Pandas에서 두 개의 데이터프레임을 연결하기 | |
| Aug 24, 2024 | Pandas에서 melt를 사용해야 하는 데이터 유형과 사용 방법 | |
| Aug 24, 2024 |
Pandas에서 pivot_table 사용하기
|
|
| Aug 24, 2024 | Pandas에서 reset_index를 사용해야 하는 이유 | |
| Aug 22, 2024 | Pandas Excel과 CSV 파일을 읽어오는 방법 | |
| Aug 19, 2024 | Pandas DataFrame의 컬럼 이름 변경하기 | |
| Aug 17, 2024 | Pandas SettingWithCopyWarning 문제 해결 | |
| Nov 30, 2023 | Dataframe을 Dict로 생성 및 변환 | |
| Nov 29, 2023 | python datetime 사용법 정리 | |
| Sep 14, 2023 | Pandas 중복 데이터 제거하기 |