포스팅 개요
이번 포스팅은 파이썬(Python) 환경에서 아래와 같은 것을 조절할 수 있는 방법을 정리합니다.
- jupyter notebook(쥬피터 노트북)에서 cell(셀)의 너비 크기(width)를 조절하는 방법
- DataFrame에서 width 크기 등을 조절하는 방법
에 대해 간단하게 정리합니다.
사실 매번 이 부분이 불편해서 검색으로 찾았었는데 반복되는 검색을 좀 줄이고자 블로그에 정리해둡니다.
아래는 참고한 자료입니다.
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html
포스팅 본문
이번 포스팅에서는 앞서 개요에서 말씀드린 것처럼 2가지 주제로 나누어서 정리를 진행합니다.
그 중 첫 번째 jupyter notebook 환경에서 cell의 width(너비)크기 조절하는 방법에 대해서 먼저 정리합니다.
jupyter notebook width 크기 조절하기
저는 평소에 아래 사진과 같은 화면으로 jupyter notebook 화면이 켜집니다.
이게 저는 개인적으로 정말 불편했습니다.
양 옆의 side를 보시면 남아 있는 공간이 있는데 그 공간을 채우지 못하고 좁은 cell 공간 안에서 문제를 해결해야 했기 때문입니다.
즉, 이 cell의 width 크기를 더 늘릴 수 있으면 남아 있는 공간도 활용하고 더 큰 화면으로 코드를 보고 데이터를 분석할 수 있겠다 싶었습니다!
이 width를 늘릴 수 있는 방법은 바로 html의 구조를 이용해서 css style을 수정해주면 됩니다.
즉, 아래 사진을 보면
이렇게 위와 같이 html 태그가 있고 이 tag를 활용해서 style을 수정할 수 있는 것입니다.
div#id와 같은 구조를 접근해서 말이죠!
notebook cell width 늘려주기
그러면 width를 넓혀주게 하기 위해서는 div#notebook-container 값을 늘려주면 됩니다!
자! 이렇게 화면이 늘어난 것을 확인할 수 있습니다.
아까와 다르게 양 옆 공간이 줄어들고 더 많은 공간을 활용할 수 있는 것이 보이시나요??
그 외에도 아래 사진과 같이 jupyter notebook의 메뉴바(menu bar)의 크기나 툴 바(tool bar)의 크기도 줄이고 늘릴 수 있습니다.
위 사진과 같이 div#menubar-container와 div#maintoolbar-container의 style 값을 수정해서 juypter notebook ui를 조금씩 변경할 수 있습니다.
이런식으로 HTML 태그 값에 접근해서 jupyter notebook의 cell width 크기 등을 변경할 수 있습니다.
pandas dataframe에서 width 조절하는 방법
다음으로는 python의 데이터 분석 등에서 많이 활용하는 dataframe의 width 크기를 수정하는 방법에 대해서 정리합니다.
위에서는 jupyter notebook의 크기를 조절했습니다. 하지만, 이 크기를 늘려도 dataframe 등의 형태의 크기는 그대로 유지됩니다.
이때 pandas의 display option을 바꿔주면 이 크기도 바꿔줄 수 있습니다.
아래와 같은 데이터가 있다고 가정합니다.
저기서 pandas set_option을 이용하고 여기서 display.max.colwidth를 이용해 dataframe의 크기 등을 조절할 수 있습니다.
지금 안의 데이터가 매우 긴데요. 10으로 셋팅했을 때는 데이터가 보이지 않습니다.
즉, jupyter notebook의 크기를 늘려도 저 dataframe 구조 옵션 값이 적어서 잘 보이지 않는 것이죠.
그럼 크기를 늘려볼까요?
크기를 100으로 늘렸습니다. 마음이 편안해집니다. 잘 보이는 것을 확인할 수 있습니다.
이와 비슷한 옵션으로 row를 보여주는 개수를 늘려주는 max_rows 등의 다양한 옵션이 있습니다.
이 다양한 옵션은 개요에 공유해드린 링크에 보시면 set_option에 관한 docs가 있으니 참고 바랍니다.
그 외에도 유용한 옵션은 display의 float_format을 통해 소숫점 자리 값을 설정할 수 있다는 것입니다.
이런식으로 말이죠!
마무리
이번 포스팅은 파이썬(Python) jupyter notebook 상에서 여러 ui적 요소를 건드려 좀 더 데이터를 보기 편하게 그리고 개발 환경을 좀 더 내 눈에 맞게 설정할 수 있는 방법을 소개했습니다.
다양한 방법이 있겠지만 저는 그동안 계속 신경쓰였던 width 설정에 포커스를 두어 정리하였습니다.
부디 도움이 되시길바랍니다!