🖥️ IT, 컴퓨터/🐍 Python
[Python] 파이썬 loc, iloc 차이
김 홍시
2024. 6. 11. 11:16
반응형
loc
와 iloc
는 파이썬의 데이터 분석 라이브러리인 Pandas에서 데이터프레임을 인덱싱하고 선택하는 데 사용되는 두 가지 주요 방법입니다. 이 두 메서드는 데이터를 선택하는 방법에서 차이가 있습니다.
loc
loc
는 라벨을 기반으로 데이터를 선택합니다. 이는 데이터프레임의 행 및 열 라벨을 사용하여 데이터를 선택할 수 있게 해줍니다.
문법:
df.loc[row_labels, column_labels]
예시:
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data, index=['one', 'two', 'three']) # 'two' 라벨을 가진 행과 'B' 라벨을 가진 열 선택 result = df.loc['two', 'B'] # 5
iloc
iloc
는 정수 위치 기반 인덱싱을 사용하여 데이터를 선택합니다. 이는 데이터프레임의 행 및 열 위치(정수 인덱스)를 사용하여 데이터를 선택할 수 있게 해줍니다.
문법:
df.iloc[row_indices, column_indices]
예시:
import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data, index=['one', 'two', 'three']) # 두 번째 행과 두 번째 열 선택 (0 기반 인덱스) result = df.iloc[1, 1] # 5
주요 차이점
loc
는 라벨(이름) 기반 인덱싱을 사용합니다. 인덱스와 열 라벨을 이용해 데이터에 접근합니다.iloc
는 위치(정수) 기반 인덱싱을 사용합니다. 인덱스와 열 번호를 이용해 데이터에 접근합니다.
다음 예시를 통해 차이를 좀 더 명확히 이해할 수 있습니다:
import pandas as pd
data = {'A': [10, 20, 30], 'B': [40, 50, 60], 'C': [70, 80, 90]}
df = pd.DataFrame(data, index=['x', 'y', 'z'])
# loc를 사용하여 'y' 라벨을 가진 행과 'B' 라벨을 가진 열 선택
print(df.loc['y', 'B']) # 50
# iloc를 사용하여 두 번째 행과 두 번째 열 선택 (0 기반 인덱스)
print(df.iloc[1, 1]) # 50
이처럼 loc
와 iloc
는 서로 다른 인덱싱 방식을 사용하여 데이터프레임에서 데이터를 선택하는 기능을 제공합니다.
반응형