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()의 위치 값을 변경하면 첫 번째뿐 아니라 원하는 임의의 위치에도 열을 삽입할 수 있습니다.