Data Science and Data Proicessing

Jupyter 노트북 용 템플릿 만들기

데이터 과학 조사를위한 빠른 시작

Image for post
~의 사진아그 토 누그로 호의 위에Unsplash

멋지게 쓰여진 기사,이 확장 프로그램으로 Jupyter 노트북을 바로 설정하십시오. [1], William Koerhsen이 Jupyter 노트북 확장을 사용하여 노트북 템플릿을 만들어 생산성을 향상시키는 방법을 설명합니다. 이 템플릿은 각 데이터 과학 여정의 시작점 역할을합니다. 우리는 모두 새로운 조사를 시작할 때 동일한 상용구 코드를 입력하는 것을 발견했습니다.

본질[1]Javascript 파일을 Jupyter의 nbextensions 시스템에서 사용하는 특정 폴더에 넣을 수 있으며 새 노트북이 생성 될 때마다 Jupyter에서 호출됩니다. 그의 기사에서 그는 기본적이고 일반적인 Python 상용구를 사용하여 새 노트북을 만들고 기본 "Untitled.ipynb"에서 노트북의 이름을 바꾸도록하는 후크를 활성화합니다. 그는 동반 기사가 있습니다.Jupyter 노트북 확장 [2]Jupyter 노트북 확장을 설치하는 방법을 보여줍니다.

DrivenData.org에 또 다른 흥미로운 기사가 ​​있습니다.Cookiecutter 데이터 과학 [삼]데이터 과학 프로젝트에 유용한 조직을 자세히 설명합니다.

제 경우에는 제가 사용하는 노트북 템플릿이[1][삼]. 그것은 내가 포함해야한다는 것을 알고 있지만 종종 일회성 노트북에 추가하기에는 너무 게으르다는 코드를 추가합니다 (나는 당신에 대해 이야기하고 있습니다, unittest!) 너무 많이 나는 내가 단지 나만 할 것이라고 생각했던 프로젝트를 시작했습니다. 한 번 사용했지만 여러 번 사용했거나 처음에 생각했던 것 이상으로 프로젝트를 확장했습니다. 엉망진창을 피하기 위해 필요에 따라 채울 수있는 몇 가지 공통 구조를 갖는 것이 도움이됩니다.

노트북 확장을 파악하고 Jupyter 시작 코드를 리버스 엔지니어링하는 모든 노력이 W Koehrsen에 의해 수행되었지만, 템플릿에 각 셀을 추가하기 위해 Javascript 파일을 수동으로 편집하는 것은 다소 지루합니다. 몇 줄이 넘는 템플릿 노트북의 경우 javascript 파일에 구문 오류가 발생할 가능성이 높습니다.

이 기사 (및 해당 github 저장소의 코드)는 템플릿 Jupyter 노트북에서 main.js 파일을 (반) 자동으로 생성하여이 프로세스를 단순화합니다. 코드를 실행하기 전에 템플릿을 .py 파일로 수동으로 저장해야하므로 반자동입니다.노트북 템플릿 생성기 .ipynbJupyter와 함께.

전제 조건

아직 Jupyter Extensions가 없다면 다음 도움말을 확인하세요.[2]또는 명령 프롬프트에서 다음 코드를 실행하십시오.
pip install jupyter_contrib_nbextensions && jupyter contrib nbextensions install --user
그런 다음 새 노트북 서버를 시작하고 확장 탭으로 이동). 오랫동안 보안 분야에서 일해 왔기 때문에 저는 제 컴퓨터에서 관리자로 실행하지 않기 때문에 적어도 제 경우에는 '--user'를 추가해야합니다.

에서 참조하는 GitHub 저장소에서 "setup"폴더의 복사본을 가져와야합니다.[1], 즉여기. notebook-template-generator 노트북을 실행하여 설정 디렉토리가 이동해야하는 경로를 찾을 수 있습니다. 경로가 존재하지 않으면 예상하는 경로가 표시됩니다. virtualenv를 사용하는 내 Mac에서는 다음과 같이 끝납니다.
~ / development / Python / Virtualenvs / py37 / lib / python3.7 / site-packages / jupyter_contrib_nbextensions / nbextensions / setup
jupyter nbextensions를 설치할 때 "--user"옵션을 사용했기 때문에 이것은 내 홈 디렉토리에 있습니다.

notebook-template.ipynb 및 notebook-setup-generator.ipynb가있는이 기사의 GitHub 저장소는 다음과 같습니다.여기.

달리는

Jupyter로 notebook-template.ipynb 및 notebook-setup-generator.ipynb를 모두 엽니 다. 기본 Jupyter 노트북에서 원하는 내용을 포함하도록 notebook-template.ipynb를 편집합니다. 파일 메뉴에서 "다른 이름으로 다운로드…"를 선택하고 "Python (.py)"을 선택합니다. macOS에서는 ~ / Downloads 디렉토리에 notebook-template.py.html로 저장됩니다 (변경get_notebook_template_path() 다른 곳에 넣으려면).

다음으로 이동notebook-setup-generator.ipynb그리고 선택모두 실행~로부터세포메뉴. 모든 것이 잘되면 기존에 덮어 쓸 것인지 묻습니다.setup / main.js파일. 다음에 새 Jupyter 노트북을 만들면 사용중인 버전의 새 셀 사본으로 채워집니다.notebook-template.ipynb.

추가 참고 사항

가상 환경에서 Python 3.7.2를 사용하여 macOS 10.14.3에서 테스트했습니다. 파서generate_setup_javascript ()매우 기본적이므로 복잡한 notebook-template.ipynb 파일이 올바르게 구문 분석되지 않을 수 있습니다.

Koehrsen의 원래 Javascript 기능에서promptName, 새 노트북의 이름이 "제목 없음"인지 확인합니다. 그렇다면 이름을 변경하라는 메시지가 표시됩니다. 나는 그것에 주석을 달았다js_postamble문자열notebook-setup-generator.ipynb템플릿을 디버깅 할 때 고통 스럽지만 템플릿에 만족하면 다시 활성화해도됩니다.

참고 문헌

[1] W. Koehrsen,이 확장 프로그램으로 Jupyter 노트북을 바로 설정하십시오., (2019),https://towardsdatascience.com/set-your-jupyter-notebook-up-right-with-this-extension-24921838a332

[2] W. Koehrsen,Jupyter 노트북 확장, (2018),https://towardsdatascience.com/jupyter-notebook-extensions-517fa69d2231

[3] DrivenData.org,Cookiecutter 데이터 과학,http://drivendata.github.io/cookiecutter-data-science/

[4] W. Koehrsen,즐겨 찾는 라이브러리를 IPython 또는 Jupyter 노트북으로 자동으로 가져 오는 방법,https://towardsdatascience.com/how-to-automatically-import-your-favorite-libraries-into-ipython-or-a-jupyter-notebook-9c69d89aa343

[5] 크리스 모핏,Jupyter 노트북으로 반복 가능한 데이터 분석 프로세스 구축(2018),https://pbpython.com/notebook-process.html

+ Recent posts