끄적끄적

2025.07.04 Pandas 실무 기초 세션 2 본문

[스파르타]내일배움캠프 데이터 분석 트랙/Session

2025.07.04 Pandas 실무 기초 세션 2

kminx 2025. 7. 9. 16:47
튜터 김연준 튜터님
학습 목표 1. DataFrame에서 원하는 열(column)만 손쉽게 추출하는 방법을 익힌다.
2. value_counts()unique()describe() 외에도 기초 통계 함수(sum()count()nunique() 등)를 활용해 데이터 특성을 빠르게 파악한다.
3. 결측치 처리 함수인 **dropna()**와 **fillna()**의 다양한 옵션을 실제 예제와 함께 실습한다.
더보기
더보기
더보기

목차

  1. 열(column) 단위 서브셋 추출
  2. 데이터 요약 함수 활용
  3. 결측치 처리 심화
  4. 추가 기초 통계 함수

 


 

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