Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
ipywidgets 이란?
ipywidgets은 Jupyter Notebookr과 JupyterLab에서 인터렉티브(interactive) 기능을 추가하거나 시각화하기 위한 라이브러리입니다. 다양한 그래픽 컨트롤과 위젯을 사용하여 Jupyter Notebook 내에 데이터 분석과 시각화를 위한 대화형 사용자 인터페이스를 만들 수 있습니다. Button, Slider, Progressbar, Text Box 등 다양한 인터페이스 위젯을 지원합니다. 예를 들어 사용자가 실시간으로 데이터를 탐색하고 상호 작용할 수 있는 대화형 대시보드를 만들 수 있습니다.
ipywidgets는 데이터 탐색과 분석을 위해 Jupyter Notebook을 사용하는 분석가나 개발자가 사용해 보면 매우 좋을 것 같습니다.
설치 (Installation)
설치는 pip 또는 conda 명령어를 이용하여 설치할 수 있습니다.
pip install ipywidgets
또는 conda를 이용하여 설치할 수 있습니다.
conda install -c conda-forge ipywidgets
Widgets
widgets은 일반적으로 Slider, Text Box 등의 컨트롤처럼 브라우저에 표시되는 이벤트성 python개체입니다. widgets을 사용하여 Jupyter Notebook에 인터렉티브 GUI를 구축할 수 있습니다. widgets framework를 사용하려면 ipywidgets를 import 해야 합니다.
import ipywidgets as widgets
widget은 코드 셀 아래의 출력 영역 안에 표시됩니다.
widgets.IntSlider()

display()를 사용하여 widget을 명시적으로 표시할 수도 있습니다.
w = widgets.IntSlider() display(w)

동일한 위젯을 두 번 선언하면 프런트 엔드에 표시된 인스턴스가 서로 동기화된 상태로 유지됩니다.
sync_w = widgets.IntSlider() display(sync_w) display(sync_w)

close() Method를 호출하여 위젯을 닫을 수 있습니다.

Widget properties
widget의 value 속성을 이용하여 값을 조회하거나 변경 할 수 있습니다.
prop_w = widgets.IntSlider() display(prop_w)
prop_w.value
Output:
47

prop_w.value = 35
Keys
value 이외에도 widget의 속성은 아래와 같이 조회할 수 있습니다.
prop_w.keys
Output:
['_dom_classes', '_model_module', '_model_module_version', '_model_name', '_view_count', '_view_module', '_view_module_version', '_view_name', 'behavior', 'continuous_update', 'description', 'description_allow_html', 'disabled', 'layout', 'max', 'min', 'orientation', 'readout', 'readout_format', 'step', 'style', 'tabbable', 'tooltip', 'value']
prop_w.step
Output:
1
약식으로 widget선언과 동시에 속성값을 초기화
widgets.Text(value='Hello World!', disabled=True)

두 개의 widget 연결
link 또는 jslink 함수를 사용하여 두 속성을 함께 연결할 수 있습니다.
text_w = widgets.FloatText() slider_w = widgets.FloatSlider() display(text_w, slider_w) mylink = widgets.jslink((text_w, 'value'), (slider_w, 'value'))

unlink 함수를 사용하면 widget 연결이 해제됩니다.
mylink.unlink()
'Tech & Development > Programming Languages' 카테고리의 다른 글
Pynecone 시작하기 (설치 및 환경구성) (0) | 2023.03.23 |
---|---|
ipywidgets widget 종류와 사용방법 (0) | 2023.03.03 |
[Python] 문자열을 숫자로 변환 (0) | 2023.01.25 |
[Python] 문자열에서 특정문자 제거 (0) | 2023.01.19 |
[Python] 자료형 - 리스트 (List) (0) | 2023.01.18 |
댓글
이 글 공유하기
다른 글
-
Pynecone 시작하기 (설치 및 환경구성)
Pynecone 시작하기 (설치 및 환경구성)
2023.03.23Pynecone은 Web App을 Build 하고 배포하기 위한 오픈 소스 풀스택 Python 프레임워크입니다. 2022년 11월, Nikhil Rao와 Alek Petuskey 두 사람에 의해 발표되었으며 이전에 Web 개발 경험이 없더라도 Python 개발자라면 매우 쉽게 대화형 Web App을 만들 수 있도록 하는 것을 목표로 하고 있습니다. 현재는 60개 이상 빌트인 Component를 갖고 있으며 계속해서 추가를 하는 중입니다. 더보기 아래는 Pynecone Doc에서 소개하고 있는 Motivation입니다. Pure Python Use Python for everything. Don't worry about learning a new language. Easy to Learn Build and… -
ipywidgets widget 종류와 사용방법
ipywidgets widget 종류와 사용방법
2023.03.03ipywidgets은 Jupyter Notebook과 JupyterLab 내에서 데이터 분석 및 시각화를 위해 다양한 widgets를 제공합니다. ipywidgets의 개념과 설치방법은 링크된 페이지에서 확인 가능합니다. widget 형식 widget Numeric widgets IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText Boolean widgets ToggleButton, Checkbox, Valid Selection widgets Dropdown, RadioButtons… -
[Python] 문자열을 숫자로 변환
[Python] 문자열을 숫자로 변환
2023.01.251. int(), float() 함수 가장 간단한 방법은 int() 함수와 float() 함수를 사용하는 것입니다. 예를 들어, 문자열 "123"을 정수로 변환하려면 다음과 같이 할 수 있습니다. string = "123" number = int(string) print(number) # 123 문자열 "3.14"를 실수로 변환하려면 다음과 같이 할 수 있습니다. string = "3.14" number = float(string) print(number) # 3.14 2. eval() 함수 eval() 함수를 사용할 수 있습니다. eval() 함수는 문자열로 전달된 수식을 계산하고 그 결과를 반환합니다. string = "123" number = eval(string) print(number) # 12… -
[Python] 문자열에서 특정문자 제거
[Python] 문자열에서 특정문자 제거
2023.01.191. replace() method replace() 메서드는 문자열에서 특정 문자나 문자열을 다른 문자나 문자열로 대체합니다. 예를 들어, 문자열 "Hello World!"에서 "o"를 제거하려면 다음과 같이 할 수 있습니다. string = "Hello World!" new_string = string.replace("o", "") print(new_string) # "Hell Wrld!" 2. translate() method translate() 메서드 역시 문자열에서 특정 문자를 제거할 수 있습니다. string = "Hello World!" remove_chars = "o" new_string = string.translate(string.maketrans("", "", remove_chars…
댓글을 사용할 수 없습니다.