ぐちゃぐちゃなノートブックからはおさらば、VSCodeのGather Extensionがすごい
Pythonのデータ処理のコードをなるべく型安全に書く方法を調べていたら、かなり便利そうなVSCodeの拡張機能を発見したのでその紹介記事です。
その名も Gather です。
どんなものか
VSCodeのJupyter Notebook機能を更に拡張する拡張機能で、ノートブック上に散らばった必要なコードだけを抽出して新しいノートブックとして出力するものだそうです。
インストールはこちらから
デモ
上記のように、2次関数を可視化するノートを作ったけど、いつも癖でpandasまでインポートしちゃったという場合でも、コードを読み取って必要な部分のみを新しいノートブックとして出力してくれている事がわかります。
また、zとして3次関数用の変数も作ったけどやっぱり使わなかったという場合もzを削除してくれています。
どんな時に便利なのか?
Pythonで、データ分析系のコードを書くときってめちゃくちゃ試行錯誤を繰り返すと思います。
- とりあえず、相関係数を見てみて、どうするか決めて、やっぱりこの列はいらない。
- そうだ、この特徴量を追加してみよう。
- このグラフ、見た目が気に入らないから、書き直そう。(けど前の結果も残しておきたい。)
...などぐちゃぐちゃになる理由を挙げ始めるときりがないです。
そして、いつの間にかノートブックは以下のような状態に。。。
- もう使っていないライブラリがいっぱいインポートされている。
- 全部実行し直そうにも、無駄なコードが間に挟まりすぎていてめっちゃ時間がかかる。
- いつの間にか変数が被っていて、どの変数に何が入っているのか忘れた。
- ノートブックのセルの順番がぐちゃぐちゃ。全部実行してもちゃんと動くか怪しい。
...などなど
このような問題を全てではないにしろ解決してくれるのが Gather です。
どうやって使うのか
こうやって使えば便利そうだなと思ったGatherのユースケースを紹介します。
(見つけたばかりの勢いで書いているので、まだ十分に試しきれていません)
- モデリングやEDAなどの実験として、ノートブックで好きなだけコードを書く。
- 一度カーネルを再起動して、必要なセルだけ実行し直す。
- アウトプットに満足であれば、Gatherのiconをクリックする。
以上の3手順を実行すると、必要なセルだけで構成された新しいノートブックが作成されます。
しかも、セル内のコードは静的解析されるそうで、使われていないモジュールや変数の部分は自動的に消去されています。
すごい!!!!
Gatherを使えば、とりあえずいつも使うライブラリをインポートしておいて、適当に実験しても、超簡単に共有用の清書ノートブックを作成することができます。
参考
Gather - Visual Studio Marketplace
microsoft/vscode-gather: Gather for the Python Extension
Discussion