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

Python Pandas – 인덱싱 연산자(대괄호)로 DataFrame 부분 집합 만들기

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에서 필요한 열만 골라 새로운 부분 집합을 만드는 가장 간단하고 직관적인 방법입니다. 단일 열은 물론 여러 열을 리스트로 전달해 한 번에 추출할 수 있으며, 데이터 분석 시 특정 컬럼만 다루고 싶을 때 매우 유용하게 활용됩니다.