끄적끄적
2025.07.04 Pandas 실무 기초 세션 2 본문
| 튜터 | 김연준 튜터님 |
| 학습 목표 | 1. DataFrame에서 원하는 열(column)만 손쉽게 추출하는 방법을 익힌다. 2. value_counts(), unique(), describe() 외에도 기초 통계 함수(sum(), count(), nunique() 등)를 활용해 데이터 특성을 빠르게 파악한다. 3. 결측치 처리 함수인 **dropna()**와 **fillna()**의 다양한 옵션을 실제 예제와 함께 실습한다. |
1️⃣ 열(column) 단위 서브셋 추출
- 목적 : 분석에 필요한 열만 분리해서 처리 속도와 가독성 향상
📌 방법 1 : 컬럼 리스트 전달
import pandas as pd
import seaborn as sns
df = sns.load_dataset("iris")
columns = ['sepal_width', 'sepal_length', 'species']
df_subset = df[columns]
df_subset.head()
📌 방법 2 : 단일 열 선택
# Series 형태 반환
sw = df['sepal_width']
print(type(sw), sw.shape)
📌 방법 3: loc / iloc 조합 사용
- loc: 라벨 기반
# 2~5행, 'sepal_width'부터 'petal_width'까지 추출
df.loc[2:5, 'sepal_width':'petal_width']
- iloc: 정수 위치 기반
# 앞쪽 3행, 2번째·4번째 열(인덱스 1, 3)만 선택
df.iloc[:3, [1, 3]]
2️⃣ 데이터 요약 함수 활용
📌 value_counts() : 각 고유값 출현 빈도 파악
species_counts = df['species'].value_counts()
print(species_counts)
📌 unique() / nunique() : 고유값 목록 및 개수 확인
uniques = df['species'].unique()
n_uniques = df['species'].nunique()
📌 describe() : 기초 통계 요약 — count, mean, std, min/max, 사분위수
df.describe()
df.count()
df.mean()
df.std()
df.min()
df.max()
📌 추가 함수
# 어떤 컬럼이 결측 없이 채워졌는지(count() vs shape[0]) 확인
total_petal_width = df['petal_width'].sum()
count_nonnull = df['petal_width'].count()
length, width = df.shape
3️⃣ 결측치 처리
📌 dropna()
- 기본 : 결측값 행 제거
df_clean = df.dropna() - 옵션 :
- axis=1 (열 단위 제거)
- how='all' (모두 NaN인 행/열만 제거)
- subset=[...] (특정 열 기준)
df.dropna(axis=1, how='all') df.dropna(axis=1, how='any')
📌 fillna()
- 단일 값으로 채우기
df_filled = df.fillna(0)
- 컬럼별 서로 다른 값 지정
values = {'A': 0, 'B': df['B'].mean(), 'C': 'unknown'}
df.fillna(value=values, inplace=True)
- 전방/후방 채우기
df.fillna(method='ffill')# 이전 값 복사
df.fillna(method='bfill')# 다음 값 복사
📌 결측치 개수 확인
df.isnull().sum()
df.notnull().sum()
4️⃣ 추가 기초 통계 함수
📌 sum() / mean() / median() / max() / min() / std() / var()
df['sepal_length'].mean()
df['petal_width'].std()
df[['sepal_length','sepal_width']].median()
📌 len() / shape 활용
total_rows = len(df)
total_cols = df.shape[1]
📌 boolean mask 응용
# petal_width 합계가 1.0 이상인 그룹만 요약
df[df['petal_width'] >= 1.0].describe()
2025.07.08 - [[스파르타]내일배움캠프 데이터 분석 트랙] - 36일차 - 실무에서 필요한 Pandas 기초 1
36일차 - 실무에서 필요한 Pandas 기초 1
튜터김연준 튜터님학습 목표1. Pandas의 기본 데이터 구조 Series, DataFrame을 명확히 이해한다.2. 결측치 개념인 NaN과 Null의 차이를 파악하고 적절히 처리한다.3. 비교 연산자/논리 연산자/조건 필터링
kminx.tistory.com
'[스파르타]내일배움캠프 데이터 분석 트랙 > Session' 카테고리의 다른 글
| 2025.07.07 머신러닝 세션 3 (5) | 2025.07.09 |
|---|---|
| 2025.07.04 데이터 크롤링 세션 2 (10) | 2025.07.09 |
| 2025.07.03 통계 세션 5 (1) | 2025.07.09 |
| 2025.07.02 데이터 크롤링 세션 1 (2) | 2025.07.09 |
| 2025.07.02 Pandas 실무 기초 세션 1 (1) | 2025.07.09 |