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

Python Pandas – iloc()로 인덱스 기반 특정 값 선택 및 하위 집합 만들기

iloc() 메서드란?

Pandas에서 인덱스 위치를 기반으로 열의 특정 값을 선택해 하위 집합(subset)을 만들려면 iloc() 메서드를 사용합니다. iloc()는 정수 위치 기반 인덱싱(integer-location based indexing)을 지원하며, [행_범위, 열_범위] 형태로 슬라이싱할 수 있어 원하는 영역의 데이터를 간편하게 추출할 수 있습니다.

먼저 pandas 라이브러리를 임포트합니다.

import pandas as pd

DataFrame 생성하기

제품 재고 정보를 담은 DataFrame을 생성합니다. 이 DataFrame은 Product, Opening_Stock, Closing_Stock 총 3개의 열로 구성되어 있습니다.

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

iloc()로 하위 집합 만들기

아래 코드는 처음 2개 행과 2개 열로 구성된 하위 집합을 iloc()로 추출합니다.

print("\niloc()로 추출한 하위 집합 = \n", dataFrame.iloc[0:2, 0:2])

iloc[0:2, 0:2]는 0번째부터 1번째까지의 행(인덱스 2는 제외)과 0번째부터 1번째까지의 열을 선택한다는 의미입니다. 즉, 슬라이싱 범위의 끝 인덱스는 결과에 포함되지 않습니다.

전체 예제 코드

다음은 지금까지의 내용을 모두 포함한 완성된 코드입니다.

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("\nProduct 열만 표시:\n", dataFrame['Product'])

# iloc()로 2개 열과 처음 2개 행으로 구성된 하위 집합 생성
print("\niloc()로 추출한 하위 집합 = \n", dataFrame.iloc[0:2, 0:2])

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

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
Name: Product, dtype: object

iloc()로 추출한 하위 집합 =
   Closing_Stock  Opening_Stock
0            200            300
1            500            700

정리

iloc()는 정수 위치 기반 인덱싱을 통해 DataFrame의 특정 행과 열을 손쉽게 선택할 수 있는 강력한 도구입니다. 열 이름 등 라벨이 아닌 위치를 기준으로 데이터를 슬라이싱해야 할 때 특히 유용하며, 대규모 데이터에서 필요한 영역만 빠르게 추출하는 데 널리 활용됩니다.