CSV 파일을 하나의 열(컬럼)을 기준으로 정렬하려면 pandas의 sort_values() 메서드를 사용하면 됩니다. sort_values() 메서드에 정렬 기준으로 사용할 열 이름을 지정해 주기만 하면 됩니다.
1. CSV 파일 불러오기
먼저 read_csv()를 이용해 'SalesRecords.csv' 파일을 DataFrame으로 읽어옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")2. 단일 열 기준으로 정렬하기
'Car'(차량명) 열을 기준으로 오름차순 정렬하는 코드입니다.
dataFrame.sort_values("Car", axis=0, ascending=True, inplace=True, na_position='first')이번에는 'Reg_Price'(등록 가격) 열을 기준으로 정렬해 보겠습니다.
dataFrame.sort_values("Reg_Price", axis=0, ascending=True, inplace=True, na_position='first')여기서 사용된 주요 매개변수는 다음과 같습니다.
- axis=0 : 행 방향(세로)으로 정렬합니다.
- ascending=True : 오름차순으로 정렬합니다. 내림차순이 필요하면 False로 설정하세요.
- inplace=True : 원본 DataFrame을 직접 수정합니다.
- na_position='first' : 결측값(NaN)을 정렬 결과의 맨 앞에 배치합니다.
전체 예제 코드
아래는 위 과정을 모두 포함한 전체 코드입니다.
import pandas as pd
# 입력 CSV 파일을 DataFrame으로 읽기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")
print("\n입력 CSV 파일 = \n", dataFrame)
# Car 열 기준으로 정렬
dataFrame.sort_values("Car", axis=0, ascending=True, inplace=True, na_position='first')
print("\n정렬된 CSV 파일 (차량명 기준) = \n", dataFrame)
# Reg_Price 열 기준으로 정렬
dataFrame.sort_values("Reg_Price", axis=0, ascending=True, inplace=True, na_position='first')
print("\n정렬된 CSV 파일 (등록 가격 기준) = \n", dataFrame)실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
입력 CSV 파일 =
Car Date_of_Purchase Reg_Price
0 BMW 10/10/2020 1000
1 Audi 10/12/2020 750
2 Lexus 10/17/2020 1250
3 Jaguar 10/16/2020 1500
4 Mustang 10/19/2020 1100
5 Lamborghini 10/22/2020 1000
정렬된 CSV 파일 (차량명 기준) =
Car Date_of_Purchase Reg_Price
1 Audi 10/12/2020 750
0 BMW 10/10/2020 1000
3 Jaguar 10/16/2020 1500
5 Lamborghini 10/22/2020 1000
2 Lexus 10/17/2020 1250
4 Mustang 10/19/2020 1100
정렬된 CSV 파일 (등록 가격 기준) =
Car Date_of_Purchase Reg_Price
1 Audi 10/12/2020 750
0 BMW 10/10/2020 1000
5 Lamborghini 10/22/2020 1000
4 Mustang 10/19/2020 1100
2 Lexus 10/17/2020 1250
3 Jaguar 10/16/2020 1500마무리
이처럼 pandas의 sort_values() 메서드를 활용하면 CSV 데이터를 원하는 열 기준으로 손쉽게 정렬할 수 있습니다. 여러 열을 동시에 기준으로 정렬하고 싶다면 열 이름을 리스트 형태로 전달하면 되며, 각 열마다 서로 다른 정렬 순서도 ascending 매개변수에 리스트를 넣어 지정할 수 있습니다.