先日リリースされた Pycharm v2019.1ですが、Jupyter Notebook機能が、いままでと全然違う見た目になっていました。
正直、いままでのJupyter Notebook機能はイマイチだったので、さてさてどんなもんよ!といったところです。
早速使ってみます。
調査の方針
今回は、この辺りを重点的に使っていきます。
- UIの使い方
- コーディングの楽さ
- 実行の楽さ
- markdownセルの挙動
- pandas DataFrameの出力
- matplotlibのinline出力
- bokeh等のJSベース可視化ライブラリの挙動
調査
1. UIの使い方
まず、画面構成ですが、こんな感じ。

さっそく、pythonセルをいくつか追加して、実行してみます。

とすると、エディタに#%%
と入力されます。
この下に、セル内のコードを書いていくスタイルのようです。わかりずら!
実際に3つほどセルを追加してみました。

右側に、おなじみのJupyterレイアウトみたいなものが表示されています。
しかし、右側は編集不可です。それどころか、右側のペイン上をクリックすると確定フリーズしますね。。。
だめだこりゃ。。。
2番目のセルC()(5)
にエラーのアウトプットが出ているのは、間違えて実行してしまったからです。
セルをクリアする機能もないため、消せません。触るとフリーズするし。
2. コーディングの楽さ
Jupyterのおなじみのレイアウトと違って、#%%
のような区切り文字を使ったコーディングは、案外快適な気がします。
左のエディタと右のプレビューとの間の対応関係も、オートスクロールで把握しやすいです。
3. 実行の楽さ
実行は
Shift + Enter
- 緑の▷ボタン
から実行できます。
Shift + Enter
が楽です。まぁ、この方法は本家Jupyter Notebookと同じですね。
4. markdownセルの挙動
以前のNotebook機能では、markdownセルが全く動きませんでした。
さて、2019.1ではどうなのか。

5. pandas DataFrameの出力
個人的に、最重要視している項目です。
前のPycharmでも動作していたので、動くと期待しています。
さっそく試してみましょう。



6. matplotlibのinline出力
Jupyterを使う理由の1つである、matplotlibのinline出力。
こちらも、前のPycharmで動作していたものです。

7. bokeh等のJSベース可視化ライブラリの挙動
さて、この機能は、以前のPycharmでは動作しなかったものになります。
果たして、バージョンアップで対応したのでしょうか?

流石にこれは動きませんでした。
Pycharmサイドがブラウザ上で動作する本家Jupyterをシミュレートするか、
bokeh
やplot.ly
などのライブラリサイドから歩み寄るか、
どちらにしても、難しい問題のようです。
まとめ
いかがでしたか?
Pycharm v2019.1の新Jupyter Notebook機能をいろいろ触ってみました。
調査項目 | 結果 |
---|---|
UIの使い方 | 本家Jupyterと全く異なる見た目 |
コーディングの楽さ | 最初は混乱するが、慣れると快適 |
実行の楽さ |
Shift + Enter で実行可能 |
markdownセルの挙動 | バッチリ動作。(テーブルのスタイルはチープ。) |
pandas DataFrameの出力 | バッチリ動作。(テーブルのスタイルはチープ。)横スクロール不可 |
matplotlibのinline出力 | バッチリ動作。(テーブルのスタイルはチープ。) |
bokeh等のJSベース可視化ライブラリの挙動 | 動作しません。 |
「Pycharmライセンス買おうかな?」と迷っている人や、「PycharmのJupyter機能って使えないよね」と思っていた人などに、「お、ちょっと使ってみようかな」と思っていただけたら幸いです。