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

Python Pandas – 열 이름으로 DataFrame 부분 집합(Subset) 추출하는 방법

Python Pandas에서 열 이름(column name)을 기준으로 DataFrame의 부분 집합(subset)을 추출하려면 대괄호([ ]), 즉 인덱싱 연산자를 사용하면 됩니다. DataFrame 이름 뒤에 대괄호를 붙이고 그 안에 원하는 열 이름을 문자열로 지정하기만 하면, 해당 열의 데이터를 손쉽게 가져올 수 있습니다.

기본 문법

부분 집합을 만드는 기본적인 형식은 다음과 같습니다.

dataFrame['column_name']

단계별 구현 방법

1. 필요한 라이브러리 불러오기

먼저 pandas 라이브러리를 별칭(alias)과 함께 임포트합니다.

import pandas as pd

2. DataFrame 생성하기

제품(Product)의 재고 정보를 담은 Pandas DataFrame을 하나 만들어 보겠습니다.

dataFrame = pd.DataFrame({'Product': ['SmartTV', 'ChromeCast', 'Speaker', 'Earphone'],
   'Opening_Stock': [300, 700, 1200, 1500],
   'Closing_Stock': [200, 500, 1000, 900]})

3. 특정 열만 선택하기

이제 전체 데이터 중에서 'Product' 열의 레코드만 가져오는 부분 집합을 만들어 보겠습니다.

dataFrame['Product']

예제 전체 코드

지금까지의 내용을 하나로 합친 완성된 코드는 다음과 같습니다.

import pandas as pd

# 제품 재고 데이터로 DataFrame 생성
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('\nDisplaying a subset:\n', dataFrame['Product'])

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

DataFrame...
    Closing_Stock   Opening_Stock   Product
0            200             300    SmartTV
1            500             700    ChromeCast
2           1000            1200    Speaker
3            900            1500    Earphone

Displaying a subset:
0     SmartTV
1     ChromeCast
2     Speaker
3     Earphone
Name: Product, dtype: object

추가 팁: 여러 개의 열 동시에 선택하기

단일 열뿐 아니라 두 개 이상의 열을 한 번에 선택할 수도 있습니다. 이 경우 열 이름들을 리스트 형태로 묶어 이중 대괄호([[ ]]) 안에 넣으면 되며, 반환되는 결과는 Series가 아닌 새로운 DataFrame입니다.

# 여러 열 선택하기
dataFrame[['Product', 'Closing_Stock']]

이처럼 대괄호 인덱싱만 익혀두면 원하는 열 데이터를 상황에 맞게 자유롭게 추출할 수 있어 데이터 분석 작업의 기초가 되는 필수 스킬입니다.