[Jupyter Notebook] 셀에서 코드결과 모두 출력하기

반응형

Jupyter Logo

 

 

Contents

    1. 배경

    주피터 노트북을 실행하다 보면, 셀에서 마지막 실행한 코드는 반환해주는데, 여러 값들을 보려면 위에 print()를 찍어줘야 하는 경우가 있습니다. 만약 여러 데이터 프레임의 shape와 어떻게 생겼는지 간단히 출력해보려면, print문에 display 문까지 아래처럼 적어줘야 합니다.

    불편한 경우

    특히 데이터를 EDA하거나, 다양하게 살펴보는 경우 여간 번거로운 일이 아닙니다. 이를 간단히 해결하는 방법을 알아보겠습니다.

     

    2. 해결 방법

    1) InteractiveShell 사용

    from IPython.core.interactiveshell import InteractiveShell 
    InteractiveShell.ast_node_interactivity = "all" # Cell의 모든 반환값 출력

    위 코드는 InteractiveShell이라는 Ipython Core의 클래스를 불러온 후, ast_node_interactivity"all"로 바꿔서 Cell 내부에서 반환하는 코드들을 모두 출력해주는 코드입니다. 이제 아래의 코드처럼 그냥 보고 싶은 변수들을 셀에 작성해주겠습니다.

    df1.shape, df2.shape
    df1
    df2

    * 출력 결과

    출력 결과

    보다 싶이 따로 print나 display를 안 해줘도 출력이 되는 것을 볼 수 있습니다. 주피터 노트북으로 디버깅을 할 때, for문이나 while문 안에서도 작동하므로 굉장히 편리하게 사용할 수 있습니다. 

     

    2) 원래대로 돌아가기

    그리고 만약 생각보다 너무 많이 출력되서 원래대로 마지막 꺼만 다시 출력하고 싶은 경우 아래처럼 코드를 작성해주면 됩니다.

    InteractiveShell.ast_node_interactivity = "last_expr" # 마지막 코드의 반환값만 출력

    위 와 같이 설정하고, 코드를 다시 실행해보면, 아래처럼 마지막 코드인 df2 만 출력되는 것을 볼 수 있습니다.

    * 출력 결과

     

    읽어주셔서 감사합니다.

    다음에 더욱 재미있고 참신한 글로 찾아뵙겠습니다.

     

    * 위의 실습 코드 깃허브를 공유드립니다.

    https://github.com/netsus/python_practice/blob/master/InteractiveShell%EC%9D%84%20%EC%9D%B4%EC%9A%A9%ED%95%9C%20%EC%85%80%20%EC%B6%9C%EB%A0%A5%20%EC%A1%B0%EC%A0%88.ipynb

     

    GitHub - netsus/python_practice: basic python course

    basic python course. Contribute to netsus/python_practice development by creating an account on GitHub.

    github.com

    Reference)
    1. Jupyter Logo: https://www.dataquest.io/blog/jupyter-notebook-tutorial/
    반응형

    댓글

    Designed by JB FACTORY