先日リリースされた 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機能をいろいろ触ってみました。
Shift + Enter
で実行可能markdownセルの挙動バッチリ動作。(テーブルのスタイルはチープ。)pandas DataFrameの出力バッチリ動作。(テーブルのスタイルはチープ。)横スクロール不可matplotlibのinline出力バッチリ動作。(テーブルのスタイルはチープ。)bokeh等のJSベース可視化ライブラリの挙動動作しません。「Pycharmライセンス買おうかな?」と迷っている人や、「PycharmのJupyter機能って使えないよね」と思っていた人などに、「お、ちょっと使ってみようかな」と思っていただけたら幸いです。