先日リリースされた Pycharm v2019.1ですが、Jupyter Notebook機能が、いままでと全然違う見た目になっていました。
正直、いままでのJupyter Notebook機能はイマイチだったので、さてさてどんなもんよ!といったところです。

早速使ってみます。

調査の方針

今回は、この辺りを重点的に使っていきます。

    • UIの使い方

 

    • コーディングの楽さ

 

    • 実行の楽さ

 

    • markdownセルの挙動

 

    • pandas DataFrameの出力

 

    • matplotlibのinline出力

 

    bokeh等のJSベース可視化ライブラリの挙動

調査

1. UIの使い方

まず、画面構成ですが、こんな感じ。

スクリーンショット 2019-04-01 12.02.48.png

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

スクリーンショット 2019-04-01 12.04.19.png

とすると、エディタに#%%と入力されます。
この下に、セル内のコードを書いていくスタイルのようです。わかりずら!

実際に3つほどセルを追加してみました。

スクリーンショット 2019-04-01 13.08.15.png

右側に、おなじみのJupyterレイアウトみたいなものが表示されています。
しかし、右側は編集不可です。それどころか、右側のペイン上をクリックすると確定フリーズしますね。。。
だめだこりゃ。。。

2番目のセルC()(5)にエラーのアウトプットが出ているのは、間違えて実行してしまったからです。
セルをクリアする機能もないため、消せません。触るとフリーズするし。

2. コーディングの楽さ

Jupyterのおなじみのレイアウトと違って、#%%のような区切り文字を使ったコーディングは、案外快適な気がします。
左のエディタと右のプレビューとの間の対応関係も、オートスクロールで把握しやすいです。

pycharm-jupyter-edit.gif

3. 実行の楽さ

実行は
– Shift + Enter
– 緑の▷ボタン

から実行できます。

実行button.mov.gif

Shift + Enterが楽です。まぁ、この方法は本家Jupyter Notebookと同じですね。

4. markdownセルの挙動

以前のNotebook機能では、markdownセルが全く動きませんでした。
さて、2019.1ではどうなのか。

スクリーンショット 2019-04-01 14.01.24.png

5. pandas DataFrameの出力

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

スクリーンショット 2019-04-01 14.03.52.png
スクリーンショット 2019-04-01 14.13.12.png
スクリーンショット 2019-04-01 14.13.23.png

6. matplotlibのinline出力

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

スクリーンショット 2019-04-01 14.16.33.png

7. bokeh等のJSベース可視化ライブラリの挙動

さて、この機能は、以前のPycharmでは動作しなかったものになります。
果たして、バージョンアップで対応したのでしょうか?

スクリーンショット 2019-04-01 14.25.04.png

流石にこれは動きませんでした。
Pycharmサイドがブラウザ上で動作する本家Jupyterをシミュレートするか、
bokehやplot.lyなどのライブラリサイドから歩み寄るか、
どちらにしても、難しい問題のようです。

まとめ

いかがでしたか?
Pycharm v2019.1の新Jupyter Notebook機能をいろいろ触ってみました。

調査項目結果UIの使い方本家Jupyterと全く異なる見た目コーディングの楽さ最初は混乱するが、慣れると快適実行の楽さShift + Enterで実行可能markdownセルの挙動バッチリ動作。(テーブルのスタイルはチープ。)pandas DataFrameの出力バッチリ動作。(テーブルのスタイルはチープ。)横スクロール不可matplotlibのinline出力バッチリ動作。(テーブルのスタイルはチープ。)bokeh等のJSベース可視化ライブラリの挙動動作しません。

「Pycharmライセンス買おうかな?」と迷っている人や、「PycharmのJupyter機能って使えないよね」と思っていた人などに、「お、ちょっと使ってみようかな」と思っていただけたら幸いです。

广告
将在 10 秒后关闭
bannerAds