Data Scientist Dairy
pandas iloc vs loc 차이점 완벽 정리 🚀 본문
데이터 분석에 있어 pandas는 필수적인 도구입니다. 특히 데이터프레임에서 데이터를 조회하거나 슬라이싱할 때 iloc과 loc 메서드를 많이 사용하게 되는데요. 처음 사용하는 분들에게는 이 둘의 차이가 헷갈릴 수 있습니다.
이번 포스팅에서는 iloc과 loc의 차이를 명확히 정리하고, 각각의 사용법을 예제로 설명해드리겠습니다. 🙌
🟢 iloc - 위치 기반 인덱싱
iloc은 데이터프레임의 행과 열의 위치를 기반으로 데이터를 선택합니다.
즉, 0부터 시작하는 숫자 인덱스를 사용하여 데이터를 조회합니다.
iloc 문법
코드 복사
data.iloc[행_인덱스, 열_인덱스]
특징
숫자 인덱스 위치를 기준으로 데이터를 조회합니다.
슬라이싱에서 끝값은 포함되지 않음 (Python 기본 슬라이싱 규칙).
예제
코드 복사
import pandas as pd
데이터프레임 생성
data = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 첫 번째 행, 두 번째 열의 값 선택
print(data.iloc[0, 1]) # 결과: 4
# 첫 번째와 두 번째 행 선택
print(data.iloc[0:2, :])
# 결과:
# A B C
# 0 1 4 7
# 1 2 5 8
🟡 loc - 라벨 기반 인덱싱
loc은 데이터프레임의 행과 열의 이름(라벨)을 기준으로 데이터를 선택합니다.
라벨을 기준으로 조회하기 때문에 데이터프레임의 인덱스 이름과 컬럼 이름을 정확히 지정해야 합니다.
loc 문법
코드 복사
data.loc[행_라벨, 열_라벨]
특징
라벨을 기준으로 데이터를 조회합니다.
슬라이싱에서 끝값이 포함됨.
예제
코드 복사
# 행 라벨과 열 이름을 사용하여 값 선택
print(data.loc[0, 'B']) # 결과: 4
# 첫 번째와 두 번째 행 선택
print(data.loc[0:1, :])
# 결과:
# A B C
# 0 1 4 7
# 1 2 5 8
🔵 iloc vs loc 비교표
특징 | iloc |
loc |
---|---|---|
기준 | 정수 위치 기반 | 라벨 이름 기반 |
슬라이싱 끝값 | 끝값 미포함 | 끝값 포함 |
인덱스 타입 | 정수형만 가능 | 라벨 이름 (정수형도 라벨로 취급) |
사용 용도 | 데이터의 위치로 조회 | 명확한 라벨로 데이터 조회 |
🔥 실전 예제: iloc와 loc 사용 비교
데이터프레임 생성
코드 복사
data = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}, index=['one', 'two', 'three'])
iloc 사용: 위치 기반 조회
코드 복사
# 첫 번째 행 선택
print(data.iloc[0])
# 결과:
# A 1
# B 4
# C 7
loc 사용: 라벨 기반 조회
코드 복사
# 'one' 행 선택
print(data.loc['one'])
# 결과:
# A 1
# B 4
# C 7
📝 언제 사용해야 할까?
iloc
데이터의 위치(숫자 인덱스)로 조회해야 할 때.
데이터프레임이 순서대로 정렬되어 있고, 위치 기반 처리가 필요한 경우.
loc
라벨 이름으로 명확히 데이터를 조회하고 싶을 때.
데이터프레임에 날짜, 카테고리 등 라벨이 설정되어 있는 경우.
💡 마무리
iloc과 loc는 pandas에서 데이터를 조회할 때 없어서는 안 될 도구입니다. 두 메서드의 차이를 이해하고 데이터의 위치와 라벨을 적절히 구분해 사용하면 데이터 분석 작업을 훨씬 더 효율적으로 할 수 있습니다.
직접 코드를 실행해보며 두 메서드의 차이를 익혀보세요! 😊
🛠 참고 태그
#pandas #iloc #loc #데이터프레임 #파이썬
궁금한 점이나 추가로 보고 싶은 내용이 있다면 댓글로 남겨주세요! 👍
이 포스팅이 유익하셨다면 좋아요 ❤️와 구독 부탁드립니다! 🙌
'IT Cert. Study > 빅데이터 분석 기사' 카테고리의 다른 글
(빅분기 실기) 결측치를 그룹 평균으로 대체하는 방법! (0) | 2024.12.01 |
---|---|
카이제곱 검정 (빅분기 실기)📅 (0) | 2024.12.01 |