RE-CONSIDER-ED

Blog

ADK로 처음 만든 멀티에이전트가 이 글을 썼습니다

6 min read
ai

AI로 설문조사를 대행한다. "Silicon Sampling"

7 min read
macos

Jump Desktop Connect가 Initializing에서 멈출 때

2 min read
ai

프롬프트 엔지니어링의 부상과 몰락, 그리고 그 다음

12 min read
ai

Bayesian Optimization으로 해결해보는 평일 직장인의 점심 메뉴 고민

8 min read
ai

AX 시대, 권한체계를 다시 설계해야 한다

10 min read
리더십

[책]스코어보드를 끄고 일하라

3 min read
llm

AGI는 산업혁명의 10배 — Demis Hassabis가 말하는 AI의 미래

7 min read
ai

AI부터 켜라는데, 나는 무엇을 켜야 하는지가 더 중요하다

4 min read
ai

AI 코딩 에이전트, 느려져야 할 때 - Mario Zechner의 경고

9 min read
product

AI 시대, 진짜 경쟁력은 코딩이 아니라 '판단'이다 — Guillermo Rauch의 5가지 교훈

6 min read
ai

AI-Native Operations: 기업의 2%만 실전 배포한 Agentic AI, 당신의 조직은 어디쯤인가?

3 min read
leadership

"왜요? 왜요? 왜요?" — 한석준이 전문가의 진짜 답을 끌어내는 법

6 min read
infra

EKS Istio istiod Sidecar Injection 장애 트러블슈팅

4 min read
review

에이전트 수십 개를 돌린다고 AI를 잘 쓰는 게 아니다

7 min read
docker

Nginx Proxy Manager Docker에서 'No file descriptors available' 에러 해결하기

3 min read
ai/agent

CLAUDE.MD 내용 변경사항

2 min read
aws

AWS ALB 개요 및 서비스시 고려사항

6 min read
GPT

GPT-5.1 reasoning_effort 파라미터 성능 측정 결과

4 min read
aws

saml2aws로 eks 접근시 트러블슈팅

3 min read
2 min read

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.
Photo by Marc Linnemann / Unsplash

Pandera: 데이터프레임 검증에 최적화된 도구

주요 장점

  • Pandas와 통합: Pandas 데이터프레임에 대해 스키마 기반 검증을 수행합니다.
  • 유연한 검증 조건: 열 데이터 타입, 값 범위, Null 여부 등 다양한 검증 조건을 정의할 수 있습니다.
  • 명확한 오류 메시지: 스키마 불일치에 대한 명확한 오류 메시지를 제공합니다.

단점

  • 대용량 데이터 검증에서는 속도가 느릴 수 있습니다.
  • 데이터프레임 외 다른 데이터 구조에는 적합하지 않습니다.

대안

  • Pydantic(DataFrame이 아닌 일반 데이터 객체 검증에 적합)
  • Cerberus(더 가벼운 데이터 검증 라이브러리)

샘플 코드

import pandas as pd
import pandera as pa
from pandera import Column, DataFrameSchema

# 데이터 스키마 정의
schema = DataFrameSchema({
    "name": Column(str, nullable=False),
    "age": Column(int, pa.Check(lambda x: x > 0), nullable=False),
    "email": Column(str, pa.Check.str_matches(r"^.+@.+\..+$"), nullable=True)
})

# 검증 대상 데이터프레임
data = pd.DataFrame({
    "name": ["Alice", "Bob", "Charlie"],
    "age": [25, 30, -1],
    "email": ["alice@example.com", "bob@site.com", None]
})

# 데이터 검증 수행
validated_data = schema.validate(data)  # 오류 발생 시 명확한 메시지 제공

Pydantic: 모델 기반 데이터 검증 도구

주요 장점

  • 타입 힌트 기반 검증: Python의 타입 힌트를 활용하여 데이터를 검증합니다.
  • 자동 변환: 입력 데이터 타입이 일치하지 않더라도 자동으로 변환합니다.
  • 직관적인 사용법: 직관적인 API로 데이터 검증 로직을 간소화합니다.

단점

  • 대용량 데이터 처리에 부적합합니다.
  • 데이터프레임 기반 분석 작업에는 적합하지 않습니다.

대안

  • Marshmallow(직렬화와 데이터 검증 지원)
  • Cerberus(더 간단한 스키마 정의 가능)

샘플 코드

from pydantic import BaseModel, EmailStr, ValidationError

# 데이터 모델 정의
class User(BaseModel):
    name: str
    age: int
    email: EmailStr

# 검증 대상 데이터
user_data = {"name": "Alice", "age": "25", "email": "alice@example.com"}

try:
    # 데이터 검증 및 변환
    user = User(**user_data)
    print(user)
except ValidationError as e:
    print(e.json())