PythonでMatlabライクな環境を構築してみる その2
では引き続きNumPy/SciPyの導入に挑戦していきます。
SciPyはNumPyに依存するとあるのでまずはNumPy導入に挑戦だ。
NumPyのOfficial: http://numpy.scipy.org/
NumPyのダウンロード先: https://sourceforge.net/projects/numpy/files/
NumPy・SciPyの導入に関して http://www.scipy.org/Installing_SciPy/BuildingGeneral にはコンソールから
python setup.py install
としてインストールするとあるけどWindowsで標準のバイナリーのインストーラーを使って近道する場合はこれをやらなくともよい。
Windowsの32ビット環境での導入なので,安定版のバージョン1.5からPython2.6用のWin32のビルドを選んで導入した。
NumPy 1.5のWin32版 ダウンロード先: http://sourceforge.net/projects/numpy/files/NumPy/1.5.0/numpy-1.5.0-win32-superpack-python2.6.exe/download
例によってsetupのmsiファイルは捨てずに取っておいた方がよい。インストーラーはPythonの2.6がインストールされている場所がデフォルトのC:\Python26の場合はnextを連打でOK。
さて,インストールされてるはずなのでPython起動してからnumpyをインポートしてみる。
import numpyでいっぱい関数がでてきたらOK。
dir(numpy)
numpy.test()
としてちゃんと動くか確認すると書いてある。しかしこのテストにはnoseというモジュールが必要でいきなりやって
みるとエラーになる。よくよく調べてみるとNumPyに同梱されているINSTALL.TXTには
2) nose__ (pptional) 0.10.3 or later
This is required for testing numpy, but not for using it.
と書いてあって別にnumpy使うにあったては必要でないらしい。
簡単なテストとしてはチュートリアルのサンプルを試してみればよいでしょう。例えば
import numpyがうまく動けば大丈夫でしょう。
a = numpy.arange(10).reshape(2,5)
豆知識
チュートリアルをもちょっとすすむとzerosコマンドが紹介されている
zeros ( (2,3) )
でMatlabのzeros(2,3)みたいなことができると書いている。が,試してみるとエラー。。。
numpy.zeros((2,3))
とすると出来た。
どうやらimportのしかたがまずかった?らしい。ここのMatlabユーザー向けのNumPyチュートリアルを参考にインポートの仕方をただ import numpy とするのではなく
from numpy import *
のようにすると出来た。
同じことをnumpyなしでやろうとすると
[0 for x in range(3)]
で[0 ,0, 0]をつくってこれを入れ子にして次の次元をつくるので
[ [0 for x in range(3)] for x in range(2) ]
という感じになる。
数値の型も同じにするなら0じゃなくて0.にした方がいいか。
最初は[[0]*3]*2でいいじゃないかと思いやってみると
>>> a = [[0]*3]*2で見た目は同じ結果がでる。しかし
>>> a
[[0, 0, 0], [0, 0, 0]]
>>> a[1][2] = 4のように要素を一個変えようとするだけでその変更が他の次元にもコピーされてしまう。
>>> a
[[0, 0, 4], [0, 0, 4]]
pythonのヘルプのチュートリアルよく読むとちゃんと書いているので違いに注意。
« PythonでMatlabライクな環境を構築してみる その1 | トップページ | PythonでMatlabライクな環境を構築してみる その3 »
「パソコン・インターネット」カテゴリの記事
- Gemma4が凄いよね。Draft modelサポートで更に凄い。(2026.05.26)
- NotebookLMを活用したBadlands Mediaの視聴方法(2025.11.22)
- Linuxのデスクトップ環境にログインした時にxmodmapコマンド実行(2023.12.30)
- youtube-dlでrumbleをダウンロード(2023.12.06)
- Pop!_OSのアプデがfcitxを繰り返し葬る件(2023.05.22)
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« PythonでMatlabライクな環境を構築してみる その1 | トップページ | PythonでMatlabライクな環境を構築してみる その3 »



コメント