공공 API 데이터는 왜 바로 쓰기 어려웠을까?

PythonAPI데이터처리

공공 API 데이터의 어려움

공공 API 데이터는 형식이 일정하지 않고, 결측치와 이상치가 많아 정제 과정이 복잡합니다.

파이프라인 설계

def collect_data(api_key, district):
    url = f"http://openapi.seoul.go.kr/data/..."
    response = requests.get(url, params={"KEY": api_key})
    return response.json()

def clean_data(raw_data): df = pd.DataFrame(raw_data) # 결측치 처리 df = df.dropna(subset=['sales_amount']) df['population'] = df['population'].fillna(df['population'].median()) # 이상치 제거 (IQR 방식) Q1 = df['sales_amount'].quantile(0.25) Q3 = df['sales_amount'].quantile(0.75) IQR = Q3 - Q1 df = df[(df['sales_amount'] >= Q1 - 1.5*IQR) & (df['sales_amount'] <= Q3 + 1.5*IQR)] return df

배운 점

  • 데이터 수집 전 API 명세를 꼼꼼히 읽어야 함
  • 결측치 처리 전략(제거 vs 대체)은 분석 목적에 따라 달라짐
  • 캐싱으로 API 호출 횟수를 줄여 응답 속도 개선 가능
  • 박주영 | 백엔드 개발자 포트폴리오