最近、個人的に機械学習の分野に興味を持っている。
Pythonでコードを書いて勉強することが多いのだが、コードを書くときは大体JupyterNotebookを使っている。
今回はJupyterNotebookでコーディングする際の便利機能をいくつか紹介しようと思う。
コンテンツ
タブ補完
まぁこれは今どき珍しくもなく、どのIDEにも搭載されている機能なのだが、一応紹介しておく。

例えば1、2行目で上記のような変数宣言がされていた場合、varと入力しTabキーを押すと、上記のとおり候補が表示される。
また、変数の後にピリオドを入力してTabキーを押すと、Pythonに搭載されている関数(メソッド)を候補として提示してくれる。

タブ補完で、かなりキーストロークを減らすことができるので、積極的に利用していきたい。
オブジェクトイントロスペクション
変数の後に「?」を入力すると、オブジェクトの詳細情報を確認することができる。

また、これは関数に対しても実行することができ「??」とクエスチョンマークを二つ付けると、関数のソースコードを確認することができる。

ショートカットキー
コード入力エリアからカーソルを外す(エリア外をクリック)とコマンドモードとなるので、そこで「h」キーを押すとショートカット一覧が表示される。

この記事では自分がよく使うショートカットを抜粋して取り上げようと思う。
※紹介するキーはMac環境を前提として説明する。
入力中のセルを実行
Ctrl + Enterキーを押すと、現在入力中のセルのコードを実行する。

入力中のセルを実行して下にセルを追加
Shift + Enterキーを押すと、コードを実行した後、下にセルを追加する。

セルを削除・削除したセルを元に戻す
コマンドモードで「d」を2回押すと、選択中の行を削除する。
元に戻すときは「z」を押す。
セルのコピー・ペースト
コマンドモードで「c」を押すと、選択中の行をコピーできる。
続けて「v」を押すと、下にコピーしたセルを追加することができる。

行番号の表示・非表示
コマンドモードで「L」を押すと、選択中のセルに行番号を表示することができる。
非表示にするときは、もう一度「L」を押せばOKだ。

深く掘り下げていけば、細かい機能はまだまだあるのだが、キリがないのでこれくらいにしておく。
今回はあくまで個人的に頻繁に使う機能の紹介だけに留めたが、これだけ使いこなせれば快適にJupyterNotebookを使うことができるだろう。