{"id":6004,"date":"2025-12-29T21:29:12","date_gmt":"2025-12-29T12:29:12","guid":{"rendered":"https:\/\/secondlife.lol\/?p=6004"},"modified":"2025-12-29T21:34:31","modified_gmt":"2025-12-29T12:34:31","slug":"vs-code-jupyter-notebook-%ec%8b%a4%ed%96%89","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/vs-code-jupyter-notebook-%ec%8b%a4%ed%96%89\/","title":{"rendered":"VS Code\uc5d0\uc11c Jupyter Notebook \uc2e4\ud589\ud558\uae30"},"content":{"rendered":"<style>.kb-image6004_aab9e8-bf .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_aab9e8-bf\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"359\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-81-600x359.png\" alt=\"VS Code\uc5d0\uc11c Jupyter Notebook \uc2e4\ud589\ud558\uae30 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6005\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-81-600x359.png 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-81-300x179.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-81-18x12.png 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-81.png 662w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<p>\uc9c0\ub09c \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 <a href=\"https:\/\/secondlife.lol\/en\/%EC%A3%BC%ED%94%BC%ED%84%B0-%EB%85%B8%ED%8A%B8%EB%B6%81-%EC%84%A4%EC%B9%98-%EA%B0%80%EC%9D%B4%EB%93%9C\/\">\uc8fc\ub2c8\ud130 \ub178\ud2b8\ubd81 \uc124\uce58\ud558\ub294 \ubc29\ubc95<\/a>, \uadf8\ub9ac\uace0 \uc2e4\ud589\ud558\ub294\uac78 \uc0b4\ud3b4\ubcf4\uc558\ub294\ub370\uc694.<\/p>\n\n\n\n<p>\uc624\ub298 \ud3ec\uc2a4\ud2b8\uc758 \ubaa9\ud45c\ub294 \ub531 \ud558\ub098\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>VS Code \ud558\ub098\ub85c Jupyter Notebook \uc2e4\ud589\ubd80\ud130 \uc2dc\uac01\ud654\uae4c\uc9c0 \ub05d\ub0b4\ub294 \uc2e4\uc804 \ub8e8\ud2f4 \ub9cc\ub4e4\uae30<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p>\uc870\uae08 \ub354 \uc138\ubd80\uc801\uc73c\ub85c \ub9d0\uc500\ub4dc\ub9ac\uba74, \uc624\ub298 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c \ub2e4\ub8e8\ub294 \uac83\uc740<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>VS Code\uc5d0\uc11c <strong>Jupyter Notebook \uc2e4\ud589<\/strong> \uae30\ubcf8 \ub8e8\ud2f4<\/li>\n\n\n\n<li>\uac00\uc0c1\ud658\uacbd(venv\/conda) + \ucee4\ub110 \uc120\ud0dd \uac10\uac01 \uc775\ud788\uae30<\/li>\n\n\n\n<li>Notebook\uc5d0\uc11c \ubc14\ub85c\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/matplotlib.org\/\" target=\"_blank\" rel=\"noopener\">Matplotlib<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/seaborn.pydata.org\/\" target=\"_blank\" rel=\"noopener\">Seaborn<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/plotly.com\/\" target=\"_blank\" rel=\"noopener\">Plotly<\/a><br>\ub85c \uadf8\ub798\ud504 \uadf8\ub9ac\ub294 <strong>\ubbf8\ub2c8 \ub808\uc2dc\ud53c<\/strong> \uc815\ub9ac<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\ud55c \ubc88 \uc2b5\ub4dd\ud574\ub450\uba74,<br>\uc55e\uc73c\ub85c\ub294 \u201c\ud130\ubbf8\ub110\uc5d0\uc11c <code>jupyter notebook<\/code> \uce58\uace0 \ube0c\ub77c\uc6b0\uc800 \uc5f4\uace0\u2026\u201d \ud560 \ud544\uc694 \uc5c6\uc774<br>\uadf8\ub0e5 <strong>VS Code\ub9cc \uc5f4\uba74 \ub370\uc774\ud130 \uc2e4\ud5d8 + \uc2dc\uac01\ud654\uae4c\uc9c0 \ud55c \ubc88\uc5d0<\/strong> \uac00\ub2a5\ud574\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">\uae30\ubcf8 \uac1c\ub150 \uc815\ub9ac \u2013 VSCode + Jupyter Notebook \uc870\ud569 \uc774\ud574\ud558\uae30<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\uc65c \uad73\uc774 VSCode\uc5d0\uc11c Jupyter\ub97c \ub3cc\ub9b4\uae4c?<\/h3>\n\n\n\n<p>Jupyter Notebook\ub9cc \uc368\ub3c4 \ub418\ub294\ub370, VS Code\ub97c \uc4f0\uba74<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ucf54\ub4dc \ud3b8\uc9d1, \ub514\ubc84\uae45, Git \uad00\ub9ac\uae4c\uc9c0 <strong>\ud55c IDE<\/strong>\uc5d0\uc11c \ucc98\ub9ac<\/li>\n\n\n\n<li><code>.py<\/code> \ud30c\uc77c\uacfc <code>.ipynb<\/code>\ub97c \uc654\ub2e4 \uac14\ub2e4 \ud558\uba74\uc11c \uc791\uc5c5 \uac00\ub2a5<\/li>\n\n\n\n<li>\ud655\uc7a5 \uae30\ub2a5(Pylance, Black, isort, Ruff \ub4f1)\uc73c\ub85c<br><strong>\u201c\uc5f0\uad6c \ub178\ud2b8 + \uc2e4\uc81c \uc11c\ube44\uc2a4 \ucf54\ub4dc\u201d \uac04 \uaca9\ucc28\ub97c \uc904\uc774\uae30<\/strong> \uc26c\uc6c0<\/li>\n<\/ul>\n\n\n\n<p>\uadf8\ub798\uc11c \uc2e4\ubb34\uc5d0\uc11c\ub294<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201c\ube60\ub978 \uc2e4\ud5d8 \u2192 Notebook\u201d<\/li>\n\n\n\n<li>\u201c\uacb0\ub860 \ub09c \ucf54\ub4dc \u2192 .py \/ Django \/ FastAPI\ub85c \uc62e\uae30\uae30\u201d<\/li>\n<\/ul>\n\n\n\n<p>\uc774 \ud750\ub984\uc744 <strong>VSCode \ud558\ub098\ub85c<\/strong> \ubb36\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc544\uc694.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc900\ube44 1 \u2013 VS Code + \ud544\uc218 \ud655\uc7a5 \uc124\uce58<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. VS Code \uc124\uce58<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc544\uc9c1 \uc124\uce58 \uc548 \ub418\uc5b4 \uc788\uc73c\uba74 <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener\">\uacf5\uc2dd \uc0ac\uc774\ud2b8<\/a>\uc5d0\uc11c \uc124\uce58\ud574 \uc8fc\uc138\uc694.<\/li>\n\n\n\n<li>Mac \uae30\uc900: <code>.dmg<\/code> \ud30c\uc77c \ubc1b\uc544\uc11c Applications\ub85c \ub4dc\ub798\uadf8 \u2192 \uc2e4\ud589.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. \uaf2d \uc124\uce58\ud574\uc57c \ud560 VS Code \ud655\uc7a5 2\uac1c<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"373\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-85-600x373.png\" alt=\"\" class=\"wp-image-6011\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-85-600x373.png 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-85-300x187.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-85-768x477.png 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-85-18x12.png 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-85.png 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption class=\"wp-element-caption\">(\ucd9c\ucc98: VScode)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>VS Code \uc67c\ucabd \uc0ac\uc774\ub4dc\ubc14\uc758 <strong>Extensions(\uc0ac\uac01\ud615 4\uac1c \uc544\uc774\ucf58)<\/strong> \ud074\ub9ad \ud6c4 \uac80\uc0c9<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Python (by Microsoft)<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ud30c\uc774\uc36c \ucf54\ub4dc \uc778\ud154\ub9ac\uc13c\uc2a4, \uac00\uc0c1\ud658\uacbd, \ub514\ubc84\uae45 \uc9c0\uc6d0<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Jupyter (by Microsoft)<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>.ipynb<\/code> \ud30c\uc77c \uc5f4\uae30, \uc140 \uc2e4\ud589, \ucee4\ub110 \uc120\ud0dd \uae30\ub2a5 \uc81c\uacf5<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\uc774 \ub450 \uac1c\ub9cc \uc788\uc73c\uba74<br>\uc624\ub298 \uc8fc\uc81c\uc778 Vscode\uc5d0\uc11c \uc8fc\ud53c\ud130 \ub178\ud2b8\ubd81 \uc2e4\ud589\uc744 \uc704\ud55c \uc900\ube44\ub294 \ub05d\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc900\ube44 2 \u2013 \uac00\uc0c1\ud658\uacbd \uc0dd\uc131 &amp; \ub77c\uc774\ube0c\ub7ec\ub9ac \uc124\uce58<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354 \ub9cc\ub4e4\uae30<\/h3>\n\n\n\n<p>In the terminal, type<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir vscode_jupyter_demo\ncd vscode_jupyter_demo<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. <a href=\"https:\/\/secondlife.lol\/en\/python-venv-create-activate\/\" data-type=\"post\" data-id=\"5834\">Virtual Environments<\/a> \ub9cc\ub4e4\uae30 (venv \uc608\uc2dc)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m venv .venv   # \ub610\ub294 python -m venv .venv\nsource .venv\/bin\/activate  # Mac \/ Linux\n.venv\\Scripts\\activate.  # Windows\ub77c\uba74<\/code><\/pre>\n\n\n\n<p>\ud504\ub86c\ud504\ud2b8 \uc55e\uc5d0 <code>(.venv)<\/code> \uac00 \ubcf4\uc774\uba74 \uc131\uacf5\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. \uc2dc\uac01\ud654 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc124\uce58<\/h3>\n\n\n\n<p>Notebook\uc5d0\uc11c \ubc14\ub85c \uadf8\ub9b4 \uc138 \uce5c\uad6c\ub97c \uc124\uce58\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install jupyter matplotlib seaborn plotly<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u203b Anaconda\/Miniconda\ub97c \uc4f0\uc2e0\ub2e4\uba74<br><code>conda install matplotlib seaborn<\/code> \ucc98\ub7fc conda\ub85c \uc124\uce58\ud574\ub3c4 \ub429\ub2c8\ub2e4.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">VSCode\uc5d0\uc11c \uc8fc\ud53c\ud130 \ub178\ud2b8\ubd81 \uc2e4\ud589\ud558\uae30<\/h2>\n\n\n<style>.kb-image6004_b1f006-67 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_b1f006-67\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"682\" height=\"428\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-87.png\" alt=\"VS Code\uc5d0\uc11c Jupyter Notebook \uc2e4\ud589\ud558\uae30 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6013\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-87.png 682w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-87-300x188.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-87-600x377.png 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-87-18x12.png 18w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. VS Code\ub85c \ud3f4\ub354 \uc5f4\uae30<\/h3>\n\n\n\n<p><a href=\"https:\/\/secondlife.lol\/en\/vs-code-install\/\" data-type=\"post\" data-id=\"372\">VS Code<\/a> \uc2e4\ud589 \u2192 <code>File > Open Folder...<\/code> \u2192 \u0392 <code>vscode_jupyter_demo<\/code> \ud3f4\ub354 \uc120\ud0dd.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. \uc0c8 Jupyter Notebook \ub9cc\ub4e4\uae30<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>VS Code \uc88c\uce21 Explorer\uc5d0\uc11c \u201cNew File\u201d \ud074\ub9ad<\/li>\n\n\n\n<li>\ud30c\uc77c \uc774\ub984\uc744 \uc608\ub97c \ub4e4\uc5b4 <code>visual_demo.ipynb<\/code> \ub85c \uc800\uc7a5<\/li>\n\n\n\n<li>VS Code\uac00 \ubc14\ub85c Notebook UI\ub85c \uc804\ud658\ub429\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<p>\ub610\ub294 \uc0c1\ub2e8 Command Palette\uc5d0\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Command Palette (\u2318+Shift+P \/ Ctrl+Shift+P) \u2192 \"Jupyter: Create New Blank Notebook\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. \ucee4\ub110(\uc2e4\ud589 \ud30c\uc774\uc36c) \uc120\ud0dd<\/h3>\n\n\n\n<p>Notebook \uc624\ub978\ucabd \uc0c1\ub2e8\uc758 <strong>\ucee4\ub110(Kernel)<\/strong> \uc601\uc5ed\uc744 \ud074\ub9ad \u2192<br><code>Python 3.x (.venv)<\/code> \ud658\uacbd\uc744 \uc120\ud0dd.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>where <strong>\uc6b0\ub9ac\uac00 \ub9cc\ub4e0 \uac00\uc0c1\ud658\uacbd<\/strong>\uc744 \uc120\ud0dd\ud574\uc57c<br>\ubc29\uae08 \uc124\uce58\ud55c Matplotlib\/Seaborn\/Plotly\uac00 \uc798 \uc791\ub3d9\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Notebook \uc140\uc5d0\uc11c Matplotlib \uae30\ubcf8 \ub8e8\ud2f4<\/h2>\n\n\n<style>.kb-image6004_f53098-2f .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_f53098-2f\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"512\" height=\"304\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-83.png\" alt=\"\uc8fc\ud53c\ud130 \ub178\ud2b8\ubd81 \ubbf8\ub2c8 \uc2dc\uac01\ud654 \uad6c\ud604 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6008\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-83.png 512w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-83-300x178.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-83-18x12.png 18w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure><\/div>\n\n\n\n<p>\uccab \ubc88\uc9f8 \uc140\uc5d0 \uc544\ub798 \ucf54\ub4dc\ub97c \ub123\uace0 \uc2e4\ud589\ud574 \ubcfc\uac8c\uc694.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>import matplotlib.pyplot as plt\n\n# \uac04\ub2e8\ud55c \ub370\uc774\ud130\nx = &#91;1, 2, 3, 4, 5]\ny = &#91;10, 7, 9, 12, 11]\n\nplt.plot(x, y, marker=\"o\")\nplt.title(\"Simple Line Plot (Matplotlib)\")\nplt.xlabel(\"X\")\nplt.ylabel(\"Y\")\nplt.grid(True)\nplt.show()<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc2e4\ud589 \ubc84\ud2bc \u25b6\ufe0f \uc744 \ub204\ub974\uba74<br>\uc140 \uc544\ub798\uc5d0 <strong>Line graphs<\/strong>\uac00 \ubc14\ub85c \ub098\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Notebook\uc758 \uc9c4\uc9dc \ub9e4\ub825\uc740 \ubc14\ub85c \uc774 \u201c\ucf54\ub4dc \uc544\ub798\uc5d0 \ubc14\ub85c \uacb0\uacfc\u201d\uc8e0.<\/li>\n<\/ul>\n\n\n<style>.kb-image6004_74a19b-13 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image6004_74a19b-13 img.kb-img, .kb-image6004_74a19b-13 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_74a19b-13\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"375\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-600x375.jpg\" alt=\"Notebook \uc140\uc5d0\uc11c Matplotlib \uc2e4\ud589 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6014\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-600x375.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-300x188.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-768x480.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Seaborn\uc73c\ub85c \ud55c \ub2e8\uacc4 \ub354 \uc608\uc058\uac8c<\/h2>\n\n\n\n<p>Seaborn\uc740 Matplotlib \uc704\uc5d0 \uc62c\ub77c\uac00\ub294 <strong>\uace0\uae09 \uc2a4\ud0c0\uc77c \ub77c\uc774\ube0c\ub7ec\ub9ac<\/strong>.<\/p>\n\n\n\n<p>\uc0c8 \uc140\uc5d0<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>import seaborn as sns\nimport pandas as pd\n\n# \uc0d8\ud50c \ub370\uc774\ud130\ud504\ub808\uc784\ndf = pd.DataFrame({\n    \"month\": &#91;\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\"],\n    \"sales\": &#91;120, 130, 125, 150, 160, 170]\n})\n\nsns.set(style=\"whitegrid\")\n\nax = sns.barplot(data=df, x=\"month\", y=\"sales\")\nax.set_title(\"Monthly Sales (Seaborn)\")<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Matplotlib\ubcf4\ub2e4 <strong>\uc2a4\ud0c0\uc77c\uc774 \uae30\ubcf8\uc801\uc73c\ub85c \uc608\uc05c \ub9c9\ub300\uadf8\ub798\ud504<\/strong>\uac00 \ub098\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Notebook\uc5d0\uc11c\ub294 \uc774 \uadf8\ub798\ud504\ub3c4 \uc140 \ubc11\uc5d0 \ubc14\ub85c \ud45c\uc2dc<\/li>\n<\/ul>\n\n\n<style>.kb-image6004_c9394a-08 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image6004_c9394a-08 img.kb-img, .kb-image6004_c9394a-08 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_c9394a-08\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"375\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-1-600x375.jpg\" alt=\"Seaborn\uc73c\ub85c \ud55c \ub2e8\uacc4 \ub354 \uc608\uc058\uac8c \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6015\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-1-600x375.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-1-300x188.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-1-768x480.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-1-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-1.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Plotly\ub85c \uc778\ud130\ub799\ud2f0\ube0c \uadf8\ub798\ud504\uae4c\uc9c0<\/h2>\n\n\n\n<p>Plotly\ub294 \uc90c\/\ub4dc\ub798\uadf8\/\ud234\ud301 \ub4f1 <strong>\uc778\ud130\ub799\uc158\uc774 \uac00\ub2a5\ud55c \uadf8\ub798\ud504<\/strong>\ub97c \uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>import plotly.express as px\n\ndf = pd.DataFrame({\n    \"date\": pd.date_range(\"2024-01-01\", periods=30, freq=\"D\"),\n    \"value\": &#91;i + (i % 5) for i in range(30)]\n})\n\nfig = px.line(df, x=\"date\", y=\"value\", title=\"Interactive Time Series (Plotly)\")\nfig<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Notebook\uc5d0\uc11c \uc2e4\ud589\ud558\uba74,<br>\ub9c8\uc6b0\uc2a4\ub85c <strong>\uc90c \uc778\/\uc90c \uc544\uc6c3<\/strong>, \ud2b9\uc815 \uad6c\uac04 \ub4dc\ub798\uadf8, \ubc94\ub840 \ud074\ub9ad \ub4f1<br>\ub2e4\uc774\ub0b4\ubbf9\ud558\uac8c \uc870\uc791\ud560 \uc218 \uc788\ub294 \uadf8\ub798\ud504\uac00 \ub098\ud0c0\ub0a9\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n<style>.kb-image6004_ffca02-3b .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image6004_ffca02-3b img.kb-img, .kb-image6004_ffca02-3b .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_ffca02-3b\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"375\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-2-600x375.jpg\" alt=\"Plotly\ub85c \uc778\ud130\ub799\ud2f0\ube0c \uadf8\ub798\ud504\uae4c\uc9c0 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6016\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-2-600x375.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-2-300x188.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-2-768x480.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-2-18x12.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-88-2.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\uc774 \ub8e8\ud2f4\uc744 \u201c\ub098\ub9cc\uc758 \uae30\ubcf8 \ud15c\ud50c\ub9bf\u201d\uc73c\ub85c \ub9cc\ub4e4\uae30<\/h2>\n\n\n<style>.kb-image6004_f4889a-21 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image6004_f4889a-21\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"512\" height=\"282\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-84.png\" alt=\"\ub370\uc774\ud130 \ubd84\uc11d \uc6cc\ud06c\ud50c\ub85c\uc6b0 \uc774\ubbf8\uc9c0\" class=\"kb-img wp-image-6009\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-84.png 512w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-84-300x165.png 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-84-18x10.png 18w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure><\/div>\n\n\n\n<p>VS Code + Notebook\uc5d0\uc11c \uc2dc\uac01\ud654 \uc791\uc5c5\uc744 \uacc4\uc18d \ud560 \uac70\ub77c\uba74,<br>\uc544\uc608 <strong>\uccab \uc140\uc744 \ud15c\ud50c\ub9bf<\/strong>\ucc98\ub7fc \ub9cc\ub4e4\uc5b4 \ub450\uace0 \ubcf5\uc0ac\ud574\uc11c \uc4f0\ub294 \uac78 \ucd94\ucc9c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># \uae30\ubcf8 \uacf5\ud1b5 \uc140 (\ud15c\ud50c\ub9bf)\nimport os\nimport math\nimport random\n\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport plotly.express as px\n\nsns.set(style=\"whitegrid\")\n\nprint(\"\u2705 \uae30\ubcf8 \ubd84\uc11d \ud658\uacbd \ub85c\ub4dc \uc644\ub8cc\")\n<\/code><\/pre>\n\n\n\n<p>\uc774 \uc140 \ud558\ub098\ub9cc \ubcf5\uc0ac\ud574\ub450\uba74,<br>\uc0c8 \ud504\ub85c\uc81d\ud2b8\ub97c \uc2dc\uc791\ud560 \ub54c\ub9c8\ub2e4 \uadf8\ub0e5 <strong>\ubd99\uc5ec\ub123\uace0 \uc2e4\ud589<\/strong>\ub9cc \ud558\uba74 \ub3fc\uc694.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc6a9\uc5b4 \uc815\ub9ac (\ucd08\ubcf4\uc790\uc6a9)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>VS Code Kernel(\ucee4\ub110)<\/strong><br>Notebook\uc774 \uc2e4\uc81c\ub85c \ucf54\ub4dc\ub97c \uc2e4\ud589\ud560 \ub54c \uc0ac\uc6a9\ud558\ub294 \ud30c\uc774\uc36c \u201c\uc5d4\uc9c4\u201d.<br>\uc5b4\ub290 \uac00\uc0c1\ud658\uacbd\uc758 \ud30c\uc774\uc36c\uc744 \uc4f8\uc9c0 \uc120\ud0dd\ud55c\ub2e4\uace0 \uc774\ud574\ud558\uba74 \ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>Matplotlib<\/strong><br>\ud30c\uc774\uc36c\uc5d0\uc11c \uac00\uc7a5 \uc624\ub798\ub418\uace0 \uae30\ubcf8\uc801\uc778 \uadf8\ub798\ud504 \ub77c\uc774\ube0c\ub7ec\ub9ac.<br>\uc120 \uadf8\ub798\ud504, \ub9c9\ub300 \uadf8\ub798\ud504, \uc0b0\uc810\ub3c4 \ub4f1 \ub300\ubd80\ubd84\uc758 \uae30\ubcf8 \ud50c\ub86f \uc9c0\uc6d0.<\/li>\n\n\n\n<li><strong>Seaborn<\/strong><br>Matplotlib \uae30\ubc18\uc758 \uace0\uae09 \uc2dc\uac01\ud654 \ub77c\uc774\ube0c\ub7ec\ub9ac.<br>\ud1b5\uacc4\uc801 \ud50c\ub86f, \uc608\uc05c \uc2a4\ud0c0\uc77c, DataFrame \uce5c\ud654\uc801 API \uc81c\uacf5.<\/li>\n\n\n\n<li><strong>Plotly<\/strong><br>\uc90c\/\ud234\ud301\/\uc778\ud130\ub799\uc158\uc774 \uac00\ub2a5\ud55c \ub300\ud654\ud615 \uadf8\ub798\ud504 \ub77c\uc774\ube0c\ub7ec\ub9ac.<br>\uc6f9 \ub300\uc2dc\ubcf4\ub4dc, \ub9ac\ud3ec\ud2b8\uc6a9 \uadf8\ub798\ud504\uc5d0 \ub9ce\uc774 \uc0ac\uc6a9.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>\uc9c0\ub09c \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 \uc8fc\ub2c8\ud130 \ub178\ud2b8\ubd81 \uc124\uce58\ud558\ub294 \ubc29\ubc95, \uadf8\ub9ac\uace0 \uc2e4\ud589\ud558\ub294\uac78 \uc0b4\ud3b4\ubcf4\uc558\ub294\ub370\uc694. \uc624\ub298&#8230;<\/p>","protected":false},"author":3,"featured_media":6005,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[1290,1294,1295,1291,1296,1292,1293,1297,1298,679],"class_list":["post-6004","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-jupyterlab-vscode","tag-matplotlib-","tag-plotly--","tag-run-jupyter-notebook","tag-seaborn-","tag-vs-code-jupyter-notebook","tag-what-is-jupyter-notebook","tag--jupyter-","tag-1298","tag-679"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":1290,"label":"JupyterLab VSCode"},{"value":1294,"label":"Matplotlib \uc608\uc81c"},{"value":1295,"label":"Plotly \uc778\ud130\ub799\ud2f0\ube0c \uadf8\ub798\ud504"},{"value":1291,"label":"Run Jupyter Notebook"},{"value":1296,"label":"Seaborn \uc608\uc81c"},{"value":1292,"label":"VS Code Jupyter Notebook"},{"value":1293,"label":"What is Jupyter Notebook"},{"value":1297,"label":"\uac00\uc0c1\ud658\uacbd Jupyter \uc124\uc815"},{"value":1298,"label":"\uc6cc\ub4dc\ud504\ub808\uc2a4 \ub370\uc774\ud130 \ubd84\uc11d \ud3ec\uc2a4\ud2b8"},{"value":679,"label":"\ud30c\uc774\uc36c \ub370\uc774\ud130 \uc2dc\uac01\ud654"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-81-600x359.png",600,359,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":116,"filter":"raw","cat_ID":3,"category_count":116,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":1290,"name":"JupyterLab VSCode","slug":"jupyterlab-vscode","term_group":0,"term_taxonomy_id":1290,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1294,"name":"Matplotlib \uc608\uc81c","slug":"matplotlib-%ec%98%88%ec%a0%9c","term_group":0,"term_taxonomy_id":1294,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1295,"name":"Plotly \uc778\ud130\ub799\ud2f0\ube0c \uadf8\ub798\ud504","slug":"plotly-%ec%9d%b8%ed%84%b0%eb%9e%99%ed%8b%b0%eb%b8%8c-%ea%b7%b8%eb%9e%98%ed%94%84","term_group":0,"term_taxonomy_id":1295,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1291,"name":"Run Jupyter Notebook","slug":"run-jupyter-notebook","term_group":0,"term_taxonomy_id":1291,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1296,"name":"Seaborn \uc608\uc81c","slug":"seaborn-%ec%98%88%ec%a0%9c","term_group":0,"term_taxonomy_id":1296,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1292,"name":"VS Code Jupyter Notebook","slug":"vs-code-jupyter-notebook","term_group":0,"term_taxonomy_id":1292,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1293,"name":"What is Jupyter Notebook","slug":"what-is-jupyter-notebook","term_group":0,"term_taxonomy_id":1293,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1297,"name":"\uac00\uc0c1\ud658\uacbd Jupyter \uc124\uc815","slug":"%ea%b0%80%ec%83%81%ed%99%98%ea%b2%bd-jupyter-%ec%84%a4%ec%a0%95","term_group":0,"term_taxonomy_id":1297,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":1298,"name":"\uc6cc\ub4dc\ud504\ub808\uc2a4 \ub370\uc774\ud130 \ubd84\uc11d \ud3ec\uc2a4\ud2b8","slug":"%ec%9b%8c%eb%93%9c%ed%94%84%eb%a0%88%ec%8a%a4-%eb%8d%b0%ec%9d%b4%ed%84%b0-%eb%b6%84%ec%84%9d-%ed%8f%ac%ec%8a%a4%ed%8a%b8","term_group":0,"term_taxonomy_id":1298,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":679,"name":"\ud30c\uc774\uc36c \ub370\uc774\ud130 \uc2dc\uac01\ud654","slug":"%ed%8c%8c%ec%9d%b4%ec%8d%ac-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":679,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/6004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=6004"}],"version-history":[{"count":5,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/6004\/revisions"}],"predecessor-version":[{"id":6019,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/6004\/revisions\/6019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/6005"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=6004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=6004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=6004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}