Pandas의 loc - 직관적인 데이터 선택 방법
loc는 Pandas에서 데이터를 선택할 때 사용하는 가장 직관적인 방법입니다. 인덱스와 컬럼의 이름(라벨)을 사용하여 원하는 데이터를 정확하게 선택할 수 있습니다.
1. 단일 값 추출하기
특정 위치의 단일 값을 선택할 때는 인덱스명과 컬럼명을 지정합니다.
# 단일 값 선택
salesData = financeData.loc['매출액', 'Y2023']
# item()을 사용하여 스칼라 값으로 변환
salesValue = financeData.loc['매출액', 'Y2023'].item()
Python
복사
2. 복수 행/열 선택하기
여러 행이나 열을 선택할 때는 리스트를 사용합니다.
# 여러 행과 열 선택
profitData = financeData.loc[['매출액', '영업이익'], ['Y2022', 'Y2023']]
# 여러 행, 모든 열 선택
allColumnsData = financeData.loc[['매출액', '영업이익'], :]
Python
복사
3. 범위 선택하기
콜론(:)을 사용하여 특정 범위의 데이터를 선택할 수 있습니다.
# 범위로 선택
rangeData = financeData.loc['매출액':'당기순이익', 'Y2020':'Y2023']
Python
복사
4. items() 메소드 활용하기
items() 메소드를 사용하면 데이터프레임을 순회하면서 컬럼명과 시리즈를 함께 얻을 수 있습니다.
# items()를 사용한 데이터 순회
for columnName, columnData in financeData.items():
print(f'컬럼명: {columnName}')
print(f'데이터:\n{columnData}')
Python
복사
5. 조건부 선택과 불리언 인덱싱
불리언 마스크를 사용하여 조건에 맞는 데이터를 선택할 수 있습니다.
# 조건부 선택
positiveProfit = financeData.loc[financeData['Y2023'] > 0]
# 다중 조건 적용
profitableQuarters = financeData.loc[
(financeData['Y2023'] > 0) &
(financeData['Y2022'] > 0)
]
Python
복사
주의사항
•
loc는 항상 라벨(이름)을 기준으로 선택합니다.
•
item()은 단일 값을 추출할 때만 사용 가능합니다.
•
items()는 전체 데이터프레임을 순회할 때 유용합니다.
•
존재하지 않는 라벨을 사용하면 KeyError가 발생합니다.
•
불리언 인덱싱 시 & (and) 또는 | (or) 연산자를 사용할 때는 각 조건을 괄호로 묶어야 합니다.
이러한 다양한 선택 방법들을 조합하여 사용하면 효율적인 데이터 분석이 가능합니다. 특히 회계 데이터 분석에서는 특정 계정과 기간의 데이터를 자주 선택하게 되므로, loc의 활용은 필수적입니다.
실습노트북 및 엑셀
앞서 배운 데이터 선택 방법을 직접 실습해보겠습니다.
•
loc 사용시 기본 형식: df.loc[행 인덱스, 열 이름]
•
행/열 여러 개 선택: df.loc[['행1', '행2'], ['열1', '열2']]
•
모든 열 선택: df.loc[행 인덱스, :]
•
범위 선택: df.loc['시작행':'끝행', '시작열':'끝열']
•
조건부 선택: df.loc[df['열'] > 조건값]
•
결과 확인: 선택된 데이터 구조 검증