ギリギリジンジン

なんでもギリギリだ。

JupyterをVisual Studio Codeから使う

www.amazon.co.jp

WebアプリであるJupyterですが、これをVSCode上で扱うことも可能です。これには以下の2通りの方法があります。

1つは、Pythonソースコードと特別なコメントである#%%を追加し、このコメントで囲まれた部分をJupyterのセルとみなして実行できるようにする機能です。PythonのコードなのでVSCodeのすべての機能が使える一方、実行結果は別のウィンドウで表示され、Jupyter Notebookとして保存できます。さらに、データビューアで変数に格納したデータを見たり、セル単位のデバッグを行うことも可能です。

もう1つは、VSCodeの中でWebアプリと同様のJupyter Notebookを表示し、セルを編集、実行する機能です。これは既存のJupyterと互換性がある一方、デバッグなどVSCodeの機能の一部が使えません。

本節では、前者の方法について簡単に紹介していきます。

プロジェク用のディレクトリに移動して準備。

$ cd /path/to/project
$ pyenv local 3.10.8
$ python -m venv -.venv

このフォルダをVSCodeで開く。 VSCodeのターミナルから、Jupyterと追加ライブラリをPandas、Matplotlib、seabornをインストール。

$ pip install jupyter pandas matplotlib seaborn
Collecting jupyter
  Downloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB)
Collecting pandas
  Downloading pandas-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.1/12.1 MB 21.2 MB/s eta 0:00:00
Collecting matplotlib
(中略)
[notice] A new release of pip available: 22.2.2 -> 22.3
[notice] To update, run: pip install --upgrade pip

Pandasに付属するデータセットを準備。(ここ書籍のURLだとうまく行かないよ〜)

$ curl  -OL https://datahub.io/machine-learning/iris/r/iris.csv
$ head iris.csv 
sepallength,sepalwidth,petallength,petalwidth,class
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
5.0,3.4,1.5,0.2,Iris-setosa
4.4,2.9,1.4,0.2,Iris-setosa

hoge.pyを作成。

#%%
import pandas as pd

#%%
df = pd.read_csv("iris.csv")

%%の上に「Run Cell」(セルの実行)と文字が現れるのでクリックして実行する。または、Shift+Enterで実行。

実行結果が新しいタブが開いて表示される。

(以下の内容も書籍の通りでは動かないので修正)

#%%
df.head

#%%
df.hist(by="class", column="sepallength", sharex=True, sharey=True)

#%%
import seaborn as sns

sns.pairplot(df, hue='class')

Python Interactiveタブの最上部にあるSaveボタンから、グラフや表を含めてJupyter Notebookとして出力できる。

同じく上部のVariablesボタンを押下すると、現在の変数一覧を表示される。変数をダブルクリックなどしてみよう。

www.amazon.co.jp