Pythonチュートリアル 学生むけhoshi/info/python_tutorial...3 Pythonの動作確認...

16
Python チュートリアル (むけ) 2017. 11. 21. 大) 目次 1 はじめに 1 2 Anaconda を用いた一括インストール 2 3 Python の動作確認 3 3.1 コマンドライン Python .......................... 3 3.2 グラフィカル IDLE Python ....................... 5 4 NumPy の動作確認 6 5 matplotlib の動作確認 7 5.1 グラフ .................................. 7 5.2 グラフ .................................. 7 5.3 ファイル みしたデータをグラフ する ...................... 9 6 Scipy の動作確認 11 7 Sympy の動作確認 12 7.1 Sympy .................................... 12 7.2 Sympy ................................... 12 8 scikit-learn の動作確認 14 A 参考:Anaconda を使わないインストール方法 15 A.1 Python インストール .................................. 15 A.2 モジュール インストール ............................. 15 1 はじめに チュートリアル Anaconda( いうソフト ェア) いた一括インストールを して、 Python 1 プログラミング する. チュートリアル 大)が するいくつか ・大学院 における ある. みを対 して かれた、 ある.サンプルコード に学 った い. から、意 コードを せている ある.大学 Windows PC するが、Mac OSLinux Anaconda し、 ある. 1 Python( ): http://www.python.jp/ 1

Transcript of Pythonチュートリアル 学生むけhoshi/info/python_tutorial...3 Pythonの動作確認...

Pythonチュートリアル (学生むけ)2017. 11. 21. 星健夫(鳥取大)

目 次

1 はじめに 1

2 Anacondaを用いた一括インストール 2

3 Pythonの動作確認 3

3.1 コマンドライン環境上の Python起動 . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.2 グラフィカル環境 IDLE上の Python起動 . . . . . . . . . . . . . . . . . . . . . . . 5

4 NumPyの動作確認 6

5 matplotlibの動作確認 7

5.1 グラフ描画の動作確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5.2 少し複雑なグラフ描画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5.3 ファイル読み込みしたデータをグラフ化する . . . . . . . . . . . . . . . . . . . . . . 9

6 Scipyの動作確認 11

7 Sympyの動作確認 12

7.1 Sympyの動作確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7.2 Sympyでの数式処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

8 scikit-learnの動作確認 14

A 参考:Anacondaを使わないインストール方法 15

A.1 Pythonのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

A.2 必要モジュールのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1 はじめに本チュートリアルでは、Anaconda(というソフトウェア)を用いた一括インストールを基礎として、

Python 1 でのプログラミング環境作成手順を説明する.

本チュートリアルは、星健夫(鳥取大)が担当するいくつかの学部・大学院講義における補助資

料である.当該講義受講生のみを対象として書かれた、内部資料である.サンプルコードは、過去

に学生が作ったもので、模範解答ではない.教育的観点から、意図的に不完全・不適切なコードを

載せている場合もある.大学推奨のWindows PCを前提とするが、Mac OS・Linuxにも Anaconda

が存在し、同様の作業が可能である.

1 Python(公式): http://www.python.jp/

1

2 Anacondaを用いた一括インストールAnacondaを用いた一括インストールについて説明する.2

グラフ描画・シミュレーション・人工知能 (機械学習)型データ解析などを行うには、対応するモ

ジュール (numpy, matplotlib, scipy, scikit-learnなど)も必要である.これらを一括でインストール

するソフトウェア「Anaconda」を利用する.

計算機環境を構築するに当たり大切なことのひとつに、”利用するバージョンを指定する”という

ことがある.本チュートリアルでは、

「python3系むけ」「64bit版」

を指定する.ただし、各自 PCの状況によっては不都合がおこる可能性がある.その場合は「64bit

版」をアンインストールして「32bit版」を試すことをすすめる.分からなければ、質問すること.

1. Anadondaのダウンロードサイトに移動する.

https://www.continuum.io/downloads

その中から、Windowsむけ、Python 3系、64bit版を選ぶ.メールアドレス登録欄がでるが、

メールアドレスを入力せずに「NO THANKS」を選ぶ.

2. インストーラーのダウンロードが始まる.ファイルを開くか聞かれた場合は、「ダウンロード」

フォルダに保存するように保存先を指定して保存を行う.

注:ファイルサイズが大きい (400MB以上)あるので、注意.

3. ダウンロードが完了すると、指定した保存場所 (「ダウンロード」フォルダ)に

Anaconda3-x.x.x-Windows_x86_64.exe

というインストーラがある (ただし「x」は数字になっている)ので、それをクリックする.注:

名前は若干違う可能性がある.

4. Setupが始まるので、Next, I Agree(ライセンス同意), Next(Just Meを選択)をクリックして

進む.

5. (!!!重要!!!)インストール先を選択する.Destination Folder(インストール先)の入力欄に

C:\Anaconda3

と入力する.

注:他フォルダでも良いが、日本語 (全角 or 2バイト文字)を含むパスを指定すると、トラブ

ルが起こる可能性がある.本チュートリアルでは、上記のように Cドライブ直下にインストー

ルすることにする.

6. Advanced Options のチェック欄 2つの両方にチェックを入れ、 Install を選択すると、インス

トールが開始される.

7. Completedと最後に表示されるので、Next, Finishを選択.以上でインストール作業が完了

する.

8. スタートメニューから、全てのプログラム→Anaconda3 (64-bit)と、その下の中にAnaconda

関連及び IPython、Jupyter、Spyderなどがインストールされているのを確認する.

2 実作業を始める前に、雰囲気をつかむために、ウェブページを参考にすると良いだろう.「Anaconda」「python」「インストール」「windows」などで検索すると、多数のウェブページが見つかる.ただし、本チュートリアルでの作業と若干違うことがあるので、注意すること.

2

3 Pythonの動作確認Pythonが正しくインストールされていることを確認する.OSのバージョンなどにより、多少、操

作法が画面出力が違う場合があるので注意.

3.1 コマンドライン環境上のPython起動

まず、コマンドライン環境上の動作確認を行う.

PC画面左下のWindowsアイコンのボタンを押して、プログラム検索の場所に「python」と打ち込

むと、プログラム「python」が見つかる.

注:見つからなかった場合は、探す.おそらく、Pythonをインストールしたフォルダ

C:\Anaconda3

に入っている.どうしても見つからない場合は、ファイル検索で「python」を検索する.

見つかったプログラム「python」を実行すると、下の「黒い画面」が表示される.これは、コマ

ンドライン環境上で pythonが実行された状態である.

図 1: Python コマンドライン起動画面

その中に以下の内容を打ち込み、「Enter」キーを押す.

>>> print("Hello")

次の行に Helloと出力されたら Pythonが正常にインストールされ動かせることの確認ができた.

図 2: 内容を打ち込み、「Enter」キーを押した後の画面

3

上記のように表示されれば、動作確認は完了である.終了するために

>>> exit()

を入力した後「Enter」を押す.

4

3.2 グラフィカル環境 IDLE上のPython起動

次に、IDLE(アイドル)というグラフィカル環境での動作確認をする.前節と同様に、PC画面

左下のWindowsアイコンのボタンを押して、プログラム検索の場所に「idle」と打ち込むと、「idle」

というプログラムが見つかる.

注:見つからなかった場合は、探す.おそらく、Pythonをインストールしたフォルダの下の

C:\Anaconda3\Script

に入っている.どうしても見つからない場合は、ファイル検索で「python」を検索する.

見つかったプログラム「idle」を実行すると、下の「白い画面」が表示される.これは、グラフィ

カル環境 IDLE上で pythonが実行された状態である.

図 3: IDLE起動画面

左上にある「File」から「New File」を選択すると、新しいウインドウが表示される.

このウインドウ内に以下の内容を打ち込み、Pythonが保存されているフォルダにファイル名を「sam-

ple 1.py」とし、保存する.

print("Hello")

保存するには「File」から「Save」もしくは「Save as …」を選択する.

図 4: 新しいウインドウに、内容を打ち込んだ後の画面

次に「Run」から「Run Module」を選択すると、IDLE画面に「Hello」と表示されれば、動作確

認は完了である.

図 5: 実行後の画面

5

4 NumPyの動作確認数値計算モジュール NumPy 3 が正しくインストールされていることを確認する.

まず、グラフィカル環境 IDLE上で Pythonを起動する (Sec. 3.2を参照).次に、以下のサンプル

コードを一行ずつ上から順に打ち込む.これは、円周率 πを出力するプログラムである.

>>> import numpy

>>> numpy.pi

下のように円周率が出力されれば動作確認は完了である.

図 6: 動作確認画面

3 NumPy(公式):http://www.numpy.org/

6

5 matplotlibの動作確認5.1 グラフ描画の動作確認

グラフ描画モジュール matplotlib 4 が正しくインストールされていることを確認する.

まず、グラフィカル環境 IDLE上でPythonを起動する (Sec. 3.2を参照).次に、左上にある「File」

から「New File」を選択して新しいウインドウを表示する.このウインドウ内に以下のサンプルコー

ドを打ち込み、Pythonが保存されているフォルダにファイル名を「sample test.py」とし、保存する.

import numpy as np

import matplotlib.pyplot as plt

x=np.arange(-3,3,0.1)

y= np.sin(x)

plt.plot(x,y)

plt.show()

保存後、「Run」から「Run Module」を選択すると、プログラムが実行される.下のように、三角関

数が表示されれば、動作確認は完了である.

図 7: サンプルコード (三角関数のプロット)実行画面

5.2 少し複雑なグラフ描画

次に、以下のもう少し長いプログラムを同様に実行する.以下のサンプルコードを打ち込み、Python

が保存されているフォルダにファイル名を「sample 2.py」とし、保存する.

from pylab import *

subplot(111, axisbg=’darkslategray’)

#subplot(111, axisbg’#ababab’)

t = arange(0.0, 2.0, 0.01)

s = sin(2*pi*t)

plot(t, s, ’y’)

xlabel(’time (s)’, color=’r’)

ylabel(’voltage (mV)’, color=’0.5’) # grayscale color

title(’About as silly as it gets, folks’, color=’#afeeee’)

show()

4 matplotlib(公式) http://matplotlib.org/

7

注:サポートページ [1]には sample_2.pyの実物があるので、それをダウンロードしても良い.保

存後、sample 2.py ファイルの「Run」から「Run Module」を選択すると、プログラムが実行され

る.下のような画面が表示されれば、動作確認は完了である.

図 8: サンプルコード実行画面

注:ギャラリーページ 5 には、多彩なグラフ描画例がある.

5 http://matplotlib.org/gallery.html

8

5.3 ファイル読み込みしたデータをグラフ化する

卒業論文などでは、自分で作ったデータ (実験・シミュレーション)をグラフにすることが多い.そ

のような場合の使い方を紹介する.

入力するデータファイルとして、

1 1.1

2 1.2

3 1.6

を考える.1列めを x軸に、2列めを y軸にしてグラフ化することにする.このデータファイルは、

サポートページ [1]には plot_graph_data.txtというファイル名で用意されている.

下記のプログラムを実行すれば良い.ただし、同じフォルダに、上記データファイルが存在してい

る必要がある.

import matplotlib.pyplot as plt

x=[]

y=[]

fp = open(’plot_graph_data.txt’,’r’)

for i, line in enumerate(fp):

data=line.split()

x.append(data[0])

y.append(data[1])

plt.plot(x,y, ’ro’) # red circle

plt.title(’My graph’)

plt.xlabel(’time (s)’)

plt.ylabel(’hight (m)’)

plt.text(1.2, 1.2, ’Hello Hello’, rotation=45)

plt.xlim(0.0, 4.0)

plt.ylim(0.0, 2.0)

plt.show()

このプログラムファイルは、サポートページ [1]には plot_graph.pyというファイル名で用意され

ている.実行すると、以下の画像がでる;

図 9: ファイル読み込みしたデータをグラフ化する

9

注:プログラムには、「plt.title(’My graph’)」など、装飾用のコマンドも入っている.意味つ

いては、各自で調べてみること.

10

6 Scipyの動作確認科学計算モジュール Scipy 6 が正しくインストールされていることを確認する.

まず、グラフィカル環境 IDLE上で Pythonを起動する (Sec. 3.2を参照).以下のサンプルコード

を一行ずつ上から順に打ち込む.これは、円周率 πを出力するプログラムである.

>>> import scipy

>>> scipy.pi

下のように、円周率が出力されれば動作確認は完了である.

図 10: 動作確認画面

6 Scipy.org(公式): http://www.scipy.org/

11

7 Sympyの動作確認7.1 Sympyの動作確認

数式処理モジュール Sympy 7 が正しくインストールされていることを確認する.

まず、グラフィカル環境 IDLE上で Pythonを起動する (Sec. 3.2を参照).以下のサンプルコード

を一行ずつ上から順に打ち込む.これは、円周率 πを出力するプログラムである.

>>> from sympy import *

>>> pi.evalf()

下のように、円周率が出力されれば動作確認は完了である.

3.14159265358979

7.2 Sympyでの数式処理

sympyはMaximaのような数式処理ができる.解説ページとして,Scipy Lecture Note Sec. 3.2

「Sympy : Python での代数計算」8 などを参照せよ.

例 1(分数):(1/2) + (1/3) = (5/6)

>>> a = Rational(1,2)

>>> b = Rational(1,3)

>>> a+b

5/6

例 2(式の展開):(x+ y)2 = x2 + 2xy + y2

>>> x = Symbol(’x’)

>>> y = Symbol(’y’)

>>> expand((x+y)**2)

x**2 + 2*x*y + y**2

例 3(微分)

>>> x = Symbol(’x’)

>>> diff(x**2,x)

2*x

例 4(定積分)

>>> x = Symbol(’x’)

>>> integrate(x**2, (x,0,1))

1/3

例 5(方程式):x2 − 1 = 0

7 Sympy(公式): http://www.sympy.org/8 http://www.turbare.net/transl/scipy-lecture-notes/packages/sympy.html

12

>>> x = Symbol(’x’)

>>> solve(x**2-1)

[-1, 1]

13

8 scikit-learnの動作確認人工知能 (機械学習)型データ解析モジュール scikit-learn 9 が正しくインストールされている

ことを確認する.

まず、グラフィカル環境 IDLE上で Pythonを起動する (Sec. 3.2を参照).

>>> import sklearn

を実行して、エラーがでなければ、scikit-learnがインストールされていることを意味する.

サポートページ [1] にあるプログラム「sample 4.py」(下記)を実行する.

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression

# create samples

sample_size = 30

err_sigma = 0.1

x = np.random.rand(sample_size, 1)

err = err_sigma * np.random.randn(sample_size, 1)

y = 3 * x + 1 + err

# train a linear regression model

regr = LinearRegression ()

regr.fit(x, y)

# make predictions

xt = np.linspace (0.0, 1.0, num = 1000).reshape((1000, 1))

yt = regr.predict (xt)

# plot samples and regression result

plt.plot(x, y, ’o’)

plt.plot(xt, yt)

plt.show()

下のように出力されれば、scikit-learnの動作確認は完了である.

図 11: サンプルコード実行画面

9 scikit learn(公式): http://scikit-learn.org

14

A 参考:Anacondaを使わないインストール方法Pythonや必要モジュールを、個別にインストールする方法の概略を述べる.例として,Python2.7系

列むけのインストール手順を紹介する.Anacondaを用いた一括インストール (Sec. 2)がどうしてもうまくいかない

場合のみ、試すこと.

本文書では詳細は扱わない.以下の説明は、現状とは食い違っている可能性があるので、必要に応

じてネットを調べること.

A.1 Pythonのインストール

1. Pythonのダウンロードサイト

https://www.python.org/downloads/windows/

から、Python 2.7系列 (2.7.x)での最新版を選ぶ.具体的には「Windows x86 MSI installer」

という名称のインストーラーを、ダウンロードする.途中ファイルを開くか聞かれた場合は、

「ダウンロード」フォルダに保存するように保存先を指定して保存を行う.

2. ダウンロードが完了すると、指定した保存場所 (「ダウンロード」フォルダ)に「python-2.7.x.msi」

というインストーラがある (ただし「x」は数字になっている)ので、それをクリックする.

3. インストーラーを実行するか聞かれるので「実行 (R)」を押してインストールを開始する.あ

とは画面の指示に順次したがう.インストール先を指定する段階がきたら、自分で指定する.

C:\Python2

など、Cドライブ直下に置くことを推奨する.

4. Pythonの動作確認 (Sec. 3)を行なう.

A.2 必要モジュールのインストール

本文書にある、NumPy, Scipy, matplotlib, scikit-learnをインストールする.方法はいろいろあり、

バージョンによっても異なる場合があるので、各自調べてみること.

15

参考文献[1] サポートページ

http://www.damp.tottori-u.ac.jp/~hoshi/py.html

16