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 스타일을 사용하는 것이 안전하다.
'IT > Python' 카테고리의 다른 글
| python으로 만년달력을 만들 때 (0) | 2026.04.12 |
|---|---|
| Tesseract 와 EasyOCR을 비교 : 개인적인 간단 경험 (0) | 2026.04.10 |
| Tesseract 와 EasyOCR을 비교 : 일반적으로 알려져 있는 사항 (0) | 2026.04.09 |
| loc 와 iloc은 어떻게 다른가? (0) | 2026.04.09 |
| pandas df를 프린트할 때 행열을 예쁘게 잘 맞추어 프린트하는 방법은? (0) | 2026.04.09 |
| pandas df 컬럼의 넓이를 고정하려면? (0) | 2026.04.09 |
| pandas df 의 dimension을 알아보는 방법? (0) | 2026.04.09 |
| 패들OCR을 사용해도 보안상 문제가 없을까? (0) | 2026.04.08 |
