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

Python - rename() 없이 인덱스로 Pandas DataFrame 열 이름 변경하기

Pandas에서는 rename() 함수를 사용하지 않고도 열의 인덱스(위치)만으로 열 이름을 간단하게 변경할 수 있습니다. 이 방법은 columns.values가 반환하는 배열에 직접 접근하여, 원하는 위치의 열 이름을 새로운 값으로 할당하는 방식으로 동작합니다.

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

3개의 열(Car, Reg_Price, Units)을 가진 DataFrame을 생성해 보겠습니다.

dataFrame = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
        "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
        "Units": [90, 120, 100, 150, 200, 130]
    }
)

이제 columns.values 뒤에 대괄호를 붙여 변경하고자 하는 열의 인덱스를 지정하면 해당 열의 이름이 새로운 값으로 바뀝니다. 인덱스는 0부터 시작한다는 점에 유의하세요.

dataFrame.columns.values[0] = "Car Names"
dataFrame.columns.values[1] = "Registration Cost"
dataFrame.columns.values[2] = "Units_Sold"

전체 예제 코드

다음은 위 과정을 하나로 정리한 전체 코드입니다.

import pandas as pd

# DataFrame 생성
dataFrame = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
        "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
        "Units": [90, 120, 100, 150, 200, 130]
    }
)

print("DataFrame ...\n", dataFrame)

# 열 이름 변경
dataFrame.columns.values[0] = "Car Names"
dataFrame.columns.values[1] = "Registration Cost"
dataFrame.columns.values[2] = "Units_Sold"

print("\n새로운 열 이름이 적용된 DataFrame...\n", dataFrame)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

DataFrame ...
         Car   Reg_Price   Units
0        BMW        7000      90
1       Lexus        1500     120
2       Tesla        5000     100
3     Mustang        8000     150
4    Mercedes        9000     200
5      Jaguar        6000     130

새로운 열 이름이 적용된 DataFrame...
    Car Names   Registration Cost   Units_Sold
0        BMW                7000           90
1       Lexus                1500          120
2       Tesla                5000          100
3     Mustang                8000          150
4    Mercedes                9000          200
5      Jaguar                6000          130

참고 사항

columns.values는 열 이름을 담고 있는 NumPy 배열을 반환하기 때문에, 특정 인덱스의 값을 직접 수정하는 방식으로 열 이름이 변경됩니다. 다만 최신 버전의 pandas에서는 이 방식이 의도대로 반영되지 않을 수 있으므로, 여러 열의 이름을 한 번에 변경할 때는 아래처럼 리스트 전체를 새로 할당하는 방법이 더 안정적입니다.

# 모든 열 이름을 한 번에 변경
dataFrame.columns = ["Car Names", "Registration Cost", "Units_Sold"]