Pandas에서 columns.values를 활용하면 CSV 파일의 열 이름을 인덱스 번호를 기준으로 손쉽게 변경할 수 있습니다. 이 방법은 열 이름을 일일이 매핑하지 않고도 위치(인덱스)를 통해 직접 수정할 수 있어 매우 편리합니다.
CSV 파일 준비
예를 들어 Microsoft Excel에서 연 CSV 파일의 내용이 다음과 같다고 가정해 보겠습니다.

이제 이 파일의 열 이름들을 변경해 보겠습니다.
1단계: CSV 데이터를 DataFrame으로 불러오기
먼저 read_csv() 함수를 사용해 CSV 파일의 데이터를 Pandas DataFrame으로 불러옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")
2단계: 현재 열 이름 확인하기
columns 속성을 사용하면 CSV 파일에 포함된 모든 열 이름을 확인할 수 있습니다.
dataFrame.columns
3단계: 인덱스 번호로 열 이름 변경하기
columns.values는 열 이름을 담고 있는 배열입니다. 이 배열의 각 인덱스 위치에 새로운 이름을 할당하면 열 이름이 변경됩니다.
dataFrame.columns.values[0] = "Car Names" dataFrame.columns.values[1] = "Registration Cost" dataFrame.columns.values[2] = "Units Sold"
위 코드에서 인덱스 0, 1, 2는 각각 첫 번째, 두 번째, 세 번째 열을 의미합니다.
전체 예제 코드
지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
# CSV 파일의 데이터를 Pandas DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")
print("Reading the CSV file...\n", dataFrame)
# 열 이름 출력
res = dataFrame.columns
print("\nDisplaying column names : \n", res)
# 인덱스 번호를 사용해 열 이름 변경
dataFrame.columns.values[0] = "Car Names"
dataFrame.columns.values[1] = "Registration Cost"
dataFrame.columns.values[2] = "Units Sold"
print("\nDisplaying updated column names : \n", res)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Reading the CSV file...
Car Reg_Price Units
0 BMW 2500 100
1 Lexus 3500 80
2 Audi 2500 120
3 Jaguar 2000 70
4 Mustang 2500 110
Displaying column names :
Index(['Car','Reg_Price','Units'], dtype='object')
Displaying updated column names :
Index(['Car Names','Registration Cost','Units Sold'], dtype='object')
출력 결과를 보면 원래 열 이름이었던 Car, Reg_Price, Units가 각각 Car Names, Registration Cost, Units Sold로 성공적으로 변경된 것을 확인할 수 있습니다.
참고: 다른 열 이름 변경 방법
인덱스 번호 대신 딕셔너리를 사용해 특정 열만 선택적으로 변경하고 싶다면 rename() 메서드를 활용할 수 있습니다.
dataFrame = dataFrame.rename(columns={'Car': 'Car Names', 'Reg_Price': 'Registration Cost'})
또한 전체 열 이름을 한 번에 교체하려면 리스트를 columns에 직접 할당하는 방법도 있습니다.
dataFrame.columns = ["Car Names", "Registration Cost", "Units Sold"]
상황에 맞는 방법을 선택해 사용하면 데이터 전처리 작업을 더욱 효율적으로 수행할 수 있습니다.