데이터를 분석하거나 모델링 하는 업무는 어떤 언어, 어떤 개발환경(IDE)를 사용하던지 핵심에는 차이가 없다.
파이썬은 입문 난이도 및 확장성을 고려했을 때 가장 효율적인 언어이다.
서비스에 모델 결과를 제공하기 위해서는 .py 스크립트로 작성하지만,
코드 한줄 한줄마다의 결과를 관찰하며 모니터링 하기엔 주피터 노트북을 사용하는 것이 효율적이다.
(jupyter notebook 또는 jupyter lab)
주피터 노트북에서 분석한 결과는 해당 노트북 파일의 링크를 바로 공유할 수도 있고,
내보내기를 통해서 다양한 파일 포맷으로 다운받을 수 있다. (pdf, html, slide 등)
nbconvert와 RISE 패키지는 이러한 변환 or 노트북 환경에서의 슬라이드쇼 보기를 지원한다.
- nbconvert : .ipynb 노트북 파일을 HTML, LaTeX, PDF, 마크다운 등 정적인 포맷 파일로 전환
- RISE : 즉각적으로 주피터 노트북을 슬라이드쇼 형태로 보기 (Reveal.js - Jupyter/IPython Slideshow Extension)
Primarily, the nbconvert tool allows you to convert a Jupyter .ipynb notebook document file into another static format including HTML, LaTeX, PDF, Markdown, reStructuredText, and more.
nbconvert can also add productivity to your workflow when used to execute notebooks programmatically.
With RISE, a Jupyter notebook extension, you can instantly turn your jupyter notebook into a live reveal.js-based presentation.
plotly로 분석결과를 시각화 했을 때 인터랙티브한 그래프를 손쉽게 그릴 수 있다.
이 때 pdf 파일로 출력하는 경우 해당 기능을 출력물에서 온전히 사용하기 어렵다.
슬라이드 타입은 PPT 같은 느낌을 줄 수 있으나,
이를 위한 사이즈 조정, 포매팅 작업이 더 손이 많이 간다고 판단했다.
따라서 HTML 파일로 출력하고자 했고,
jupyter notebook 내에 download 기능은 설치오류가 있어서
서버 커맨드 라인에서 pip install을 통해 nbconvert를 설치하고,
커맨드라인 명령어를 통해서 파일을 생성했다.
최종 결과 코드는 아래와 같다.
--execute 명령어를 입력하지 않으면 plotly 그래프 결과물이 보이지 않는다.
--no-input 명령어를 입력하면 input으로 들어가는 코드 부분이 출력되지 않아 결과만 깔끔하게 볼 수 있다.
jupyter nbconvert --to html --execute --no-input /work_dir/temp.ipynb
# --execute : 실행
# --no-input : 코드 없이
[참고]
- nbconvert: Convert Notebooks to other formats — nbconvert 7.2.10 documentation
'분석 > 파이썬' 카테고리의 다른 글
VSCode에서 기존 서버에서 실행중인 Jupyter notebook 실행하기 (0) | 2023.03.30 |
---|---|
파이썬 데이터프레임 메모리 효율화 및 halffloat 컬럼 타입 parquet 파일 저장 에러 (0) | 2023.03.15 |
파이썬에서 if __name__=="__main__" (0) | 2021.09.30 |