📊 하루 하나씩 배우는 데이터 분석 with Pandas, Matplotlib, Seaborn
이 글은 데이터 분석을 처음 시작하는 분들을 위해 Pandas, Matplotlib, Seaborn을 활용한 실습 중심의 가이드를 제공합니다. 엑셀보다 강력한 데이터 처리 자동화를 통해 표 분석, 그래프 시각화, 통계 리포트를 자동화하는 방법을 단계별로 배워보세요.
안녕하세요! 데이터 분석에 관심은 많지만 어디서부터 시작해야 할지 막막하셨던 분들을 위해 준비한 시리즈입니다. 매일 하나씩, 짧고 간단한 예제로 데이터 분석의 기초를 다져보세요. 오늘은 Pandas를 활용한 행과 열 다루기를 배워보겠습니다.
행과 열 다루기

출처: Data Science Review
Pandas는 데이터 분석에 있어 강력한 도구로, 행과 열을 효율적으로 다룰 수 있는 다양한 기능을 제공합니다. 특히, iloc
와 loc
메서드는 데이터프레임에서 원하는 데이터를 선택하는 데 매우 유용합니다.
기능 | iloc | loc |
---|---|---|
기반 | 정수 위치 기반 | 레이블(이름) 기반 |
슬라이싱 | 끝 인덱스 제외 | 끝 인덱스 포함 |
사용 예시 | df.iloc[0, 1] | df.loc['row1', 'column1'] |
위의 표는 iloc
와 loc
의 주요 차이점을 요약한 것입니다. iloc
는 정수 위치를 기반으로 데이터를 선택하며, 슬라이싱 시 끝 인덱스를 제외합니다. 반면, loc
는 레이블을 기반으로 하며, 슬라이싱 시 끝 인덱스를 포함합니다.
열 추가 및 삭제 방법
- 열 추가:
df['new_column'] = values
또는df.insert(loc, 'new_column', values)
- 열 삭제:
df.drop('column_name', axis=1)
또는df.drop(columns=['col1', 'col2'])
위의 방법들을 활용하여 데이터프레임의 열을 유연하게 추가하거나 삭제할 수 있습니다. 예를 들어, 새로운 계산된 열을 추가하거나 불필요한 열을 제거하여 데이터를 정리할 수 있습니다.
데이터 정렬 및 필터링

출처: Data Science Review
데이터 분석에서 원하는 정보를 추출하기 위해서는 데이터를 정렬하고 필터링하는 기술이 필수적입니다. Pandas에서는 sort_values()
와 sort_index()
를 사용하여 데이터를 정렬하고, 조건을 활용한 필터링으로 원하는 데이터를 선택할 수 있습니다.
데이터 정렬 및 필터링 방법
- 열 기준 정렬:
df.sort_values(by='column_name')
- 인덱스 기준 정렬:
df.sort_index()
- 조건 필터링:
df[df['column_name'] > value]
- 복합 조건 필터링:
df[(df['col1'] > value1) & (df['col2'] < value2)]
위의 방법들을 활용하여 데이터를 정렬하고 필터링함으로써 분석에 필요한 데이터를 효율적으로 추출할 수 있습니다. 예를 들어, 특정 조건을 만족하는 데이터를 선택하거나, 데이터를 특정 열의 값에 따라 정렬하여 패턴을 발견할 수 있습니다.
실전 후기 및 사용자 꿀팁

출처: Data Science Review
“처음에는
iloc
와loc
의 차이를 이해하는 데 어려움이 있었지만, 실제 데이터를 다루면서 그 중요성을 깨달았습니다. 특히, 조건에 따라 데이터를 필터링할 때loc
를 활용하면 코드가 훨씬 직관적이고 효율적이었습니다.”– 데이터 분석가 김민수
✔ 핵심은 이것!
- 정렬 시 주의사항:
sort_values()
를 사용할 때는inplace=True
를 설정하지 않으면 원본 데이터프레임이 변경되지 않습니다. - 복합 조건 필터링: 여러 조건을 결합할 때는 괄호를 적절히 사용하여 논리 연산의 우선순위를 명확히 해야 합니다.
- 슬라이싱 주의:
iloc
는 끝 인덱스를 포함하지 않지만,loc
는 끝 인덱스를 포함하므로 슬라이싱 시 주의가 필요합니다.
이러한 팁들을 실전에 적용하면 데이터 분석 작업의 효율성과 정확성을 높일 수 있습니다. 특히, 대용량 데이터를 다룰 때는 작은 차이가 큰 영향을 미칠 수 있으므로, 각 메서드의 특성을 정확히 이해하고 활용하는 것이 중요합니다.
자주 묻는 질문 (FAQ)
Q1: iloc
와 loc
의 주요 차이점은 무엇인가요?
iloc
는 정수 기반 인덱싱으로, 행과 열의 위치를 숫자로 지정합니다. 반면, loc
는 라벨 기반 인덱싱으로, 행과 열의 이름을 사용하여 데이터를 선택합니다.
Q2: sort_values()
와 sort_index()
의 차이점은 무엇인가요?
sort_values()
는 특정 열의 값을 기준으로 데이터를 정렬하며, sort_index()
는 인덱스를 기준으로 데이터를 정렬합니다.
Q3: 복합 조건으로 데이터를 필터링하려면 어떻게 해야 하나요?
복합 조건은 논리 연산자 &
(AND), |
(OR)를 사용하여 결합합니다. 예: df[(df['col1'] > 10) & (df['col2'] < 5)]
Q4: sort_values()
사용 시 원본 데이터를 변경하려면 어떻게 하나요?
sort_values()
에 inplace=True
를 설정하면 원본 DataFrame이 정렬된 상태로 변경됩니다.
Q5: iloc
와 loc
를 사용할 때 주의할 점은 무엇인가요?
iloc
는 슬라이싱 시 끝 인덱스를 포함하지 않지만, loc
는 끝 인덱스를 포함합니다. 이 차이를 이해하고 사용하는 것이 중요합니다.
이미지 + 그래프 차트 + 출처 확인

출처: Buggy Programmer
출처: CSDN 블로그
위의 이미지와 자료들은 Pandas의 iloc
와 loc
의 차이점, 그리고 sort_values()
함수의 사용법을 이해하는 데 큰 도움이 됩니다. 실습을 통해 직접 적용해보시길 권장합니다. 마무리 및 요약
이번 시리즈를 통해 Pandas의 핵심 기능인 iloc
와 loc
의 차이점, 그리고 sort_values()
함수의 활용법에 대해 알아보았습니다. 이러한 기능들은 데이터 분석에서 필수적인 도구로, 데이터를 효율적으로 선택하고 정렬하는 데 큰 도움이 됩니다. 실제 데이터를 다루면서 직접 적용해보시길 권장합니다.
📌 블로그 메타 요약
이 블로그 시리즈는 데이터 분석 초보자를 위해 Pandas의 기초부터 실전 적용까지 하루 하나씩 배울 수 있도록 구성되었습니다. iloc
와 loc
의 차이, sort_values()
를 활용한 정렬, 조건 필터링, 시각화, 그리고 실전 팁까지 모두 다루며 학습 효과를 극대화합니다. Pandas와 함께라면 엑셀을 넘는 자동화 분석의 세계가 열립니다.
HANSORI.AI_Blog Labs에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.