25
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

Organization

Jupyter Notebook の利用

Jupyter Notebook

Python を学習する場合 Jupyter Notebook を利用するといろいろな機能が利用でき、学習しやすいです。

Jupyter Notebook のいろいろな機能を使ってみたいと思います。

環境の構築に関しては以下のリンク先を確認してください。

Cell の利用

「Cell(セル)」という領域に文字を入力します。

jupyter_cell.png

ここにプログラムが書けます。

実行は ctrl_enter.png です。

2 + 1
3

プログラムコードは実行すると「output area」に結果が表示されます。

jupyter_output.png

「 In[実行履歴番号]」、「Out[出力履歴番号]」が表示されます。

Cell では、notebook 上の方になる選択ボックで「Code」や「Markdown」等が選択できます。

jupyter_cell_type.png

プログラムをいろいろ書いてみて、履歴実行

Pytyon のコードが通常通りに記載できます。

import numpy as np
np.sin(6) ** 3
-0.021814811956275375

実行履歴を参照して、実行する事も可能です。「アンダーバー(_)」+「実行履歴番号(In [数字の番号])」です。

_1
3

実行番号を利用して、再度計算をする事もできます。

_1 * 10
30

変数の取り扱い

変数の取り扱いは注意すべき点があります。

Notebook 上のそのまま書いた変数はNotebook内でのグローバル変数になり、プログラムのように上から実行されているわけではない事に注意してください。

# これをまず実行
a = 10
# これを実行
print(a)
10
# これを実行してから、上の print を実行
a = 20

実行順序によっては意図しない結果になる場合もあります。

現在どのような変数が宣言されているか知るには「%who」や「%whos」を利用すると可能です。

「%whos」は型や、変数の内容も表示しますので便利です。

%who
a    
%whos
Variable   Type    Data/Info
----------------------------
a          int     20

help機能

「?」や「??」を付与する事で、変数、オブジェクト、ライブラリ等のヘルプを参照できます。

a?
import numpy as np
np.sin?

「アスタリスク(*)」を付与して「?」を参照すると、参照可能な候補一覧が表示されます。

np.s*?

notebook上は「タブ(TAB)キー」で補完も可能ですが、多少遅い場合や、ブラウザの環境によってはみずらい場合もあるので、便利でしょう。

Notebook独自コマンド

Notebook上ではいくつか便利なコマンドが利用できます。「%」を前に付与してコマンドが利用できます。

# 現在作業フォルダを表示
%pwd
# ディレクトリ内一覧
%ls
# 実行時間計測
%time np.random.rand(100, 100)
CPU times: user 602 µs, sys: 261 µs, total: 863 µs
Wall time: 544 µs

OSコマンドを利用する

「エクスクラメーション(!)」を先頭に付与する事で、OSのコマンドを呼べます。

!dir

Windows では、あまりコマンドを利用しないかもしれませんが、Mac/Linux系利用の方はターミナルにわざわざ移行する必要はありません。

数式のサポート

「Markdown」セルでは Mathjax を利用した数式の表示がサポートされています。

詳細は Mathjax のドキュメント( http://docs.mathjax.org/en/latest/index.html )を参照する必要がありますが以下のような数式が書けます。

「 \sigma^2=\frac{1}{n}\sum_{i}(x_i-\mu)^2 」この文字を「ドルマーク」で囲んで書くと、以下のような数式が表示されます。

$\sigma^2=\frac{1}{n}\sum_{i}(x_i-\mu)^2$

その他補助機能

「%%」で指定したプログラム言語が実行できます。

%%javascript
// alert('Hello World')

ほかにもいろいろな機能があります。Jupyter のマニュアルも確認してみてください。

The Jupyter notebook — Jupyter Notebook 5.4.0 documentation

書いた人に関して

Tech Fun株式会社スペシャリスト、xza です。

社内で開催した初学者向け勉強会で利用した資料等を公開しています。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
25
Help us understand the problem. What are the problem?