データサイエンスのためのPython入門②〜Jupyter Labの使い方とショートカット一覧まとめ〜

グローバルでAI開発者・データサイエンティストを目指す人向け
おすすめUdemy講座一覧

TOEIC300→海外就職の英語勉強法まとめ

こんにちは,米国データサイエンティストのかめ(@usdatascientist)です.

データサイエンスのためのPython入門第二回です(講座の目次はこちら).今回は前回の記事でセットアップしたJupyter Labの使い方をまとめます.(まだの方は是非↓の記事でDocker+JupyterLabをセットアップしてみてください!)

(「データサイエンスのためのPython講座」動画版がでました!詳細はこちら)

データサイエンスのためのPython入門①〜DockerでJupyter Labを使う〜

データサイエンティストの仕事って,データをみながらデータを加工していくことが多いです.コンピュータ・ビジョンは画像を表示しながら画像加工のコードを書いたりします.Jupyterは,「コード書いて⇨実行して⇨その結果を確認⇨コード修正⇨・・・」というサイクルをするための便利なツールです.

データサイエンティスト必須のツールなので,是非今回の記事で使い方に慣れて,次回以降の記事でどんどん使ってみてほしいです!

それでは, /work フォルダに移って新しいJupyter Noteを作りましょう!フォルダに移るにはナビゲーションWindowの work フォルダをクリックすればOKです.

移動したらNotebook:Python 3のボタンをクリックして新しいNoteを作成します.

基本操作

ファイルを作成すると上記の画面になると思います.ナビゲーションのところに新しいファイルが作成されています.右クリックでメニューを表示できます.

ここでは適当にファイル名を変更しましょう.「Rename」をクリックし変更します.今回はworksheet.ipynbという名前にしました.

補足
ちなみに.ipynbというのNotebook独自の拡張子です.JupyterLabはもともとJupyterNotebookというプロジェクトで,JupyterNotebookというのはもともとIPythonNotebook (ipynb)というプロジェクトでした

画面右側が実際にコードを書いたり結果を表示させるWindowです.セルにコードを書いて実行します.コードを書いたら Shift+Enter でコードを実行します.

するとすぐ結果が表示されていますね.ここに表示される結果はこのセルの返り値です.セル内で最後に実行された行の返り値が表示されます.

コードだけでなく,Markdownにすることもできます.セルを選択した状態で画面上の「Code」というピックリストからMarkdownを選択してみてください.

セルは「Code」,「Markdown」,「Raw」の三つのモードに切り替えることができます.Rawはそのままセルに文字を表示しますが,あまり使う場面ないです.
また,セルモードの切り替えは出来るだけショートカットを使いましょう!「esc」キーでショートカットモードにします.「esc」キーを押して⇨「Y」でCode,「M」でMarkdown,「R」でRawです.ショートカットについては後ほどまとめますが,この中で実際使うのは「M」です.デフォルトがCodeセルになっているので,Markdownセルにすることが多いです.

この「Markdownセル」のおかげでNotebookを人に配布できるような「ノート」にすることができます(なのでNotebookなんでしょうね).自分もNotebookを使うときはなるべくコメント的にMarkdownを入れて読みやすくします.

セルの左側の数字は実行された順番です.上のセルを更新して再実行してから保存すると,実行順とセルの順番がずれますがあとで見返したときに「?」とならないようにしましょう.

実行結果が上のセル⇨下のセルという順番になっているとは限りません,常にセル左の番号をみて,実行順を確認します.

全てのセルの実行をリセットするには「Kernel」メニューから「Restart Kernel」をクリックします.他にも「Restart Kernel and Run All Cells」で全セルを上から再実行したり,「Shut Down Kernel」でNotebookのメモリを全て消します.巨大なデータを扱っていると,JupyterNoteでは実行後ずっとメモリを保持しつづけるのでメモリリークを起こしやすいです.使ってないNoteは適宜ShutDownするといいです.
あと,セルの実行をキャンセルするには「Interrup Kernel」をクリックします.例えば重い処理の返答が返ってこない時に使います.この辺は使ってく中で色々試していければOKです.

ツールの使い方だけの説明になってしまってて申し訳ないですが,一応まとめておきたくてこのページ作ってます.今後の記事で,重要なとこは都度出してく予定なので今は「こんなんあるんだなぁ」くらいに思ってくれればOK!

あと,各ファイルのWindowはタブで管理されます.左上の「+」をクリックし,先と同様Python3を選択して新しいファイルを作成してみてください.

新しいタブができていることがわかると思います.タブをドラッグ&ドロップして,画面を分割することもできます.(私はあまり使いません)

あと,もう一つ,Settings->JupyterLab Theme->JupyterLab Darkで画面を黒くできます.ただ,グラフを表示したときに軸が白くならなかったり,値がみえなくなったりするので,気をつけてください.この辺はこれからの開発にマジで期待です.

次はよく使うショートカットを一覧にまとめます!ここに書いてある操作は基本全てショートカットを使って行いましょう!

ショートカットは大きく分けて2種類あります.

  • Jupyter Labを操作するショートカット
  • セル内でコードを書く際に使用するショートカット

それぞれ分けて紹介しますね!

(超頻出)Jupyter操作のショートカット一覧

まず,Jupyter Labを操作するショートカットを使う場合は「esc」キーでショートカットモードに切り替えましょう.以下のショートカットは全て「esc」を押してから実行してください

A:一つ上の空セルを作成 (AboveのAと覚える) (Note左上の「+」をクリックすることでも新しいセルを作れます.が,ショートカットを使いましょう.)

B:一つ下の空セルを作成 (BelowのBと覚える)

D + D:選択中のセル削除(DeleteのDと覚える.「慎重さが求められるため二回」と覚えておく)

Y or M or R: Y->Code M->Markdown R->Raw:先の説明のとおり.実際「M」arkdownしか使わない

command + B:ナビゲーションメニューの表示非表示切り替え(FireFoxのブックマークと一緒.BookmarkのBと覚える)

Shift押しながらセルを選択(セルの左の番号をクリック)して+ Shiftを押しながらM:セル同士を結合する(MergeのMと覚える.Shiftを押しながら複数選択するのはパワポとかと一緒)Mを押すときにShiftを押していないとMarkdownになります.なお,このショートカットは「esc」を押さなくてもOKです.

Shift + ↓or Shift + J: 下のセルを複数選択してくれる.上述したMergeとのコンボで楽.実際には次のセルとMergeすることが多いので「esc + Shift + ↓ + M」が便利

Shift + ↑or Shift + K: 上のセルを複数選択してくれる.上述したMergeとのコンボで楽.実際には前のセルとMergeすることが多いので「esc + Shift + ↑ + M」が便利

セル内のエディタ的ショートカット一覧

それでは今度はセルの中でコードを書くときに使うショートカットです.

実はJupyterで使えるショートカットはSublimeとほぼ同じです.まだSublimeじゃない人,こちらの記事を読んで是非Sublimeを使いましょうね!(これが僕がSublimeをオススメする理由の一つでもあります.)
なお,Sublimeのショートカット一覧の記事がありますのでこちらも読んでくださいね!

【永久保存版】Sublime導入からおすすめショートカット一覧

以下のショートカットは全てセル内で行います.↓

Shift + Tab :超重要一番重要なショートカットです.関数を呼ぶときに()括弧の中にカーソルを合わせた状態で Shift + Tab を押すと,ポップアップが出てきて,関数のリファレンスを確認することができます.これ,超便利なんですよ.関数の使い方や引数の内容を確認できます.

command + /: もはやお決まりのコメント・アンコメントです.複数行を選択してまとめてコメントも可能です.

command + [ or }: インデント・アンインデントです.例えば複数行選択してfor文の中をまとめてインデントします.(ちなみにPythonのインデントはスペース4つです.)

Ctrl + Shift + – : セルを分割します.コードは実行されません.

まとめ

JupyterLabはこれから常に使うので,徐々になれていけばOKです.ただ,なるべくショートカットは使っていくようにしましょう.使わないと体に馴染まないですからね.特にShift + Tabリファレンスを見る癖をつけましょう!

あと,なるべくMarkdownを使いながらノートとしてあとで見返せるようにしておく癖をつけるといいです.人にも見せれますし,それをGithubに置いておけば就活の時に見せれますし,綺麗なノートがあると印象がいいです◎

ブログではこれからもデータサイエンス講座を進めていく予定です.誤字脱字を見つけた場合は是非Twitter(@usdatascientist)にてご連絡いただけると幸いです(汗)

フォローもお願いしますね!それでは!

追記)第3回書きました!↓

データサイエンスのためのPython入門③〜Pythonのデータタイプまとめ〜