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

Pandas에서 CSV 파일 열 이름을 인덱스 번호로 변경하는 방법

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

CSV 파일 준비

예를 들어 Microsoft Excel에서 연 CSV 파일의 내용이 다음과 같다고 가정해 보겠습니다.

Pandas에서 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"]

상황에 맞는 방법을 선택해 사용하면 데이터 전처리 작업을 더욱 효율적으로 수행할 수 있습니다.