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

Python Pandas – DataFrame의 열을 첫 번째 위치로 이동하는 방법

Pandas DataFrame에서 특정 열을 첫 번째 위치로 이동하려면 pop() 메서드로 해당 열을 꺼낸 뒤, insert() 메서드를 사용해 첫 번째 위치에 다시 삽입하면 됩니다. 두 단계만 거치면 원하는 열의 순서를 손쉽게 변경할 수 있습니다.

1단계: DataFrame 생성하기

먼저 세 개의 열(Student, Result, Roll Number)을 가진 DataFrame을 생성합니다.

import pandas as pd

# DataFrame 생성
dataFrame = pd.DataFrame(
    {
        "Student": ['Jack', 'Robin', 'Ted', 'Marc', 'Scarlett', 'Kat', 'John'],
        "Result": ['Pass', 'Fail', 'Pass', 'Fail', 'Pass', 'Pass', 'Pass'],
        "Roll Number": [5, 10, 3, 8, 2, 9, 6]
    }
)

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

2단계: pop()으로 열 꺼내기

pop()은 지정한 열을 DataFrame에서 제거하면서 동시에 해당 열의 데이터를 반환합니다. 여기서는 "Roll Number" 열을 꺼내 변수에 저장합니다.

shiftPos = dataFrame.pop("Roll Number")

3단계: insert()로 첫 번째 위치에 삽입하기

insert()는 새로운 위치에 열을 삽입하는 메서드입니다. 첫 번째 매개변수는 삽입할 위치(인덱스), 두 번째는 열 이름, 세 번째는 열 데이터를 의미합니다. 인덱스 0을 지정하면 DataFrame의 맨 앞, 즉 첫 번째 위치에 열이 배치됩니다.

dataFrame.insert(0, "Roll Number", shiftPos)

전체 예제 코드

지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.

import pandas as pd

# DataFrame 생성
dataFrame = pd.DataFrame(
    {
        "Student": ['Jack', 'Robin', 'Ted', 'Marc', 'Scarlett', 'Kat', 'John'],
        "Result": ['Pass', 'Fail', 'Pass', 'Fail', 'Pass', 'Pass', 'Pass'],
        "Roll Number": [5, 10, 3, 8, 2, 9, 6]
    }
)

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

# "Roll Number" 열을 꺼내기
shiftPos = dataFrame.pop("Roll Number")

# 첫 번째 위치(인덱스 0)에 열 삽입
dataFrame.insert(0, "Roll Number", shiftPos)

print("\n열을 첫 번째 위치로 이동한 후 업데이트된 DataFrame...\n", dataFrame)

실행 결과

위 코드를 실행하면 다음과 같이 "Roll Number" 열이 DataFrame의 첫 번째 위치로 이동된 것을 확인할 수 있습니다.

DataFrame ...
    Result  Roll Number  Student
0    Pass            5     Jack
1    Fail           10    Robin
2    Pass            3      Ted
3    Fail            8     Marc
4    Pass            2  Scarlett
5    Pass            9      Kat
6    Pass            6     John

열을 첫 번째 위치로 이동한 후 업데이트된 DataFrame...
   Roll Number  Result   Student
0            5    Pass      Jack
1           10    Fail     Robin
2            3    Pass       Ted
3            8    Fail      Marc
4            2    Pass  Scarlett
5            9    Pass       Kat
6            6    Pass      John

정리

pop()과 insert()를 조합하면 복잡한 재할당 없이도 열의 순서를 간단히 조정할 수 있습니다. 이 방식은 특정 키 열을 맨 앞으로 가져오거나 보고서 형식에 맞게 열 순서를 재배열할 때 특히 유용합니다. 참고로 insert()의 위치 값을 변경하면 첫 번째뿐 아니라 원하는 임의의 위치에도 열을 삽입할 수 있습니다.