Pandas 인덱싱 연산자란?
Pandas에서 DataFrame의 부분 집합(subset)을 만들 때 가장 기본적인 방법은 바로 대괄호 [ ] 형태의 인덱싱 연산자입니다. 이 연산자 안에 원하는 열 이름을 넣으면 해당 열만 추출한 새로운 DataFrame을 손쉽게 얻을 수 있습니다.
먼저 예제에 사용할 DataFrame을 생성해 보겠습니다. 이 DataFrame은 Product, Opening_Stock, Closing_Stock 세 개의 열을 가지고 있습니다.
import pandas as pd
dataFrame = pd.DataFrame({
"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]
})
print(dataFrame)
단일 열로 부분 집합 만들기
열 이름을 대괄호 두 겹으로 감싸면 해당 열 하나만 포함된 DataFrame이 반환됩니다.
dataFrame[["Product"]]
여러 열로 부분 집합 만들기
여러 개의 열이 필요하다면 열 이름을 리스트 형태로 함께 전달하면 됩니다.
dataFrame[["Opening_Stock", "Closing_Stock"]]
참고: 대괄호를 한 번만 사용해 dataFrame["Product"]처럼 접근하면 Series가 반환되지만, 위 예제처럼 대괄호를 두 번 사용해 리스트로 감싸면 항상 DataFrame 형태로 결과를 얻게 됩니다.
전체 예제 코드
다음은 지금까지 설명한 내용을 모두 담은 완전한 코드입니다.
import pandas as pd
dataFrame = pd.DataFrame({
"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
"Opening_Stock": [300, 700, 1200, 1500],
"Closing_Stock": [200, 500, 1000, 900]
})
print("DataFrame...\n", dataFrame)
print("\n인덱싱 연산자로 추출한 부분 집합:\n", dataFrame[["Product"]])
print("\n여러 열로 구성한 부분 집합:\n",
dataFrame[["Opening_Stock", "Closing_Stock"]])
실행 결과
위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다.
DataFrame...
Closing_Stock Opening_Stock Product
0 200 300 SmartTV
1 500 700 ChromeCast
2 1000 1200 Speaker
3 900 1500 Earphone
인덱싱 연산자로 추출한 부분 집합:
Product
0 SmartTV
1 ChromeCast
2 Speaker
3 Earphone
여러 열로 구성한 부분 집합:
Opening_Stock Closing_Stock
0 300 200
1 700 500
2 1200 1000
3 1500 900
정리
대괄호 인덱싱 연산자는 DataFrame에서 필요한 열만 골라 새로운 부분 집합을 만드는 가장 간단하고 직관적인 방법입니다. 단일 열은 물론 여러 열을 리스트로 전달해 한 번에 추출할 수 있으며, 데이터 분석 시 특정 컬럼만 다루고 싶을 때 매우 유용하게 활용됩니다.