tabulate 라이브러리를 활용하여 DataFrame을 시각적으로 가장 보기 좋게 출력하는 방법은 tablefmt 옵션과 정렬 기능을 조합하는 것이다.

 

1. 가장 깔끔한 스타일 추천

가장 가독성이 높은 스타일은 grid와 psql 형식이다. 격자무늬가 포함되어 데이터 간의 경계가 확실하게 구분된다.

  • grid 스타일: 선이 연결된 격자 형태 (가장 표준적)
  • psql 스타일: PostgreSQL 콘솔 출력과 유사한 형태 (깔끔함)
  • fancy_grid 스타일: 유니코드 선을 사용하여 테두리가 더 부드러움

 

2. 코드 적용 예시

아래와 같이 옵션을 설정하면 가독성을 극대화할 수 있다.

 

from tabulate import tabulate

print(tabulate(df, headers='keys', tablefmt='fancy_grid', showindex=True, stralign='center', numalign='right'))

 

3. 주요 옵션 상세 설명

더욱 정교하게 출력하고 싶다면 다음 옵션들을 조정한다.

  • headers='keys': DataFrame의 컬럼명을 표의 헤더로 사용한다.
  • showindex='always': 행의 인덱스 번호를 표시한다.
  • stralign: 문자열 데이터의 정렬 방향 (left, center, right)을 설정한다.
  • numalign: 숫자 데이터의 정렬 방향을 설정한다. 보통 숫자는 오른쪽 정렬이 가독성이 좋다.
  • missingval: 데이터가 비어있을 때(NaN) 표시할 문자를 지정한다. (예: missingval='N/A')

 

4. 스타일별 시각적 차이

스타일명 특징 추천 상황
fancy_grid 이중선과 곡선 사용 최종 보고용 콘솔 출력
pipe GitHub Markdown 스타일 문서화나 블로그 포스팅용
plain 선 없이 공백으로 구분 데이터 복사 및 가공용
outline 외곽선만 표시 깔끔한 요약 정보 출력

데이터의 양이 많을 경우 fancy_grid는 출력이 깨질 수 있으므로, 그럴 때는 간단한 grid나 simple 스타일을 사용하는 것이 안전하다.

 

+ Recent posts