1. DataFrame
데이터 필터링 기초
필터링은 왜 필요할까?
셀카 앱에서 쓰는 필터처럼 pandas의 필터링은 우리가 중요한 것에 집중할 수 있게 도와줘! 불필요한 데이터를 제외하고 꼭 필요한 것만 남길 수 있어. 이건 데이터 분석의 기본 도구이고, 특히 리포트 준비나 큰 데이터 세트를 다룰 때 굉장히 유용해.
우리의 첫 번째 필터링
간단한 예제를 시작해보자. 상품 판매 정보를 담은 DataFrame
이 있어:
import pandas as pd
data = {
"상품": ["오렌지", "바나나", "사과", "오렌지", "사과"],
"수량": [10, 5, 8, 7, 6],
"가격": [3.5, 2.0, 4.0, 3.0, 4.5]
}
df = pd.DataFrame(data)
# 상품 이름으로 필터링
filtered_df = df[df["상품"] == "오렌지"]
print(filtered_df)
조건 사용하기
여러 조건을 조합할 수도 있어! 예를 들어, 수량이 6개 이상이고 가격이 3.5 단위 이하인 상품을 찾아보자:
# & (논리적 "그리고")를 사용하여 조건 조합
filtered_df = df[(df["수량"] > 6) & (df["가격"] <= 3.5)]
print(filtered_df)
중요한 포인트 기억하기
pandas에서 필터를 만들 때 대괄호를 사용하고 조건에는 소괄호를 사용하는 것을 잊지 마! '그 사람'이 되어서 스코프를 잊는 일은 만들지 말자. 😅
2. 데이터 정렬
정렬이 왜 중요할까?
데이터를 정렬하면 혼란 속에서도 구조와 순서를 볼 수 있어. 예를 들어, 도서관에 쌓여있는 책들이 무작위로 흩어져 있다고 상상해봐 — 악몽이지! 정렬은 데이터를 더 잘 분석하거나 예쁘게 정리하고 나아가 필요한 값을 찾는 데 도움을 줘.
단일 열로 정렬하기
우리 DataFrame
을 상품 가격의 오름차순으로 정렬해보자:
# 가격 오름차순 정렬
sorted_df = df.sort_values(by="가격")
print(sorted_df)
다중 열로 정렬하기
데이터를 수량으로 정렬하고, 수량이 같으면 가격의 내림차순으로 정렬해본다고 상상해봐. 이렇게 하면 돼:
# 수량과 가격으로 정렬
sorted_df = df.sort_values(by=["수량", "가격"], ascending=[True, False])
print(sorted_df)
정렬의 특징
ascending
매개변수에 유의해.
데이터를 오름차순 또는 내림차순으로 정렬하고 싶을 때 설정할 수 있어.
데이터를 마치 악마처럼 지배하고 싶다면, 이 매개변수를 잘 활용해봐!
3. 실전 연습
실습 과제
이제 배운 것을 실습해볼 시간! 가제로, 너는 한 회사의 분석가이고 100개 이상 팔린 전화기 모델들을 찾아 수익이 내림차순인 순서로 정렬해야 해:
# 전화기 판매 데이터
data = {
"모델": ["Phone X", "Phone Y", "Phone Z", "Phone X", "Phone Y"],
"판매량": [120, 150, 90, 130, 80],
"수익": [200, 180, 220, 210, 190]
}
df = pd.DataFrame(data)
# 100개 이상 판매된 모델 필터링
filtered_df = df[df["판매량"] > 100]
# 수익 내림차순 정렬
sorted_df = filtered_df.sort_values(by="수익", ascending=False)
print(sorted_df)
분석 및 논의
필터링과 정렬 조합을 사용하여 정말로 중요한 데이터만 도출하거나, 보고서를 위한 데이터를 준비해봐. 이 두 가지 도구는 연습하면 할수록 더 강력해지니까, 많이 실습하면서 익혀!
일반적인 실수
초보자들은 종종 필터 조건에서 소괄호를 쓰는 것을 잊거나, 잘못된 정렬 순서를 지정해서 틀리곤 해. 예를 들어, 잘못된 ascending을 사용해서 모든 걸 뒤죽박죽 만들 수도 있으니까 주의하자!
실제 응용
필터링과 정렬은 데이터 분석가에게 필수 도구야. 복잡한 데이터 세트에서 필요한 데이터를 빨리 찾아내고, 보고서를 위해 정리하는 데 필수적이지. 실제로는 금융, 의료 연구 등 어디에서나 사용돼. 예를 들어, 은행은 의심스러운 거래를 필터링하고, 연구자들은 약물 테스트 데이터를 정렬해서 숨겨진 패턴을 찾아내곤 해.
4. 추가 학습 리소스
주제를 더 깊이 배우고 싶다면, pandas 공식 문서를 참조해봐. 여기에는 이 라이브러리를 전문적으로 익힐 수 있는 다양한 예제와 설명이 준비되어 있어.
GO TO FULL VERSION