トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

Python NumPy



目次



記事一覧

キーワード

Python NumPy

[Python][Python matplotlib]


 ドキュメント

リファレンス


 概要

NumPy

SciPy

matplotlib

  • 出版物のクオリティで、インタラクティブにプロットするのを容易にするライブラリ

NumPy


  • NumPyは多次元配列を扱うライブラリで、主に扱うデータ型は配列である
  • 配列は同じ型の要素のセットであり、正の整数のベクターによりインデックス付けされる

Install

apt-getを使ってubuntuへインストール
sudo apt-get install python-numpy python-scipy
PIPを使ってインストール
# pip install numpy
PIPを使ってWindowsにインストール
C:\Python27\Scripts>pip install numpy

 配列の生成

リストから生成

>>> from numpy import *
>>> a = array( [ 10, 20, 30, 40 ] )
>>> a
array([10, 20, 30, 40])

arange を使い配列を生成

arange([start,] stop[, step,], dtype=None)

0から始まる整数の配列を生成
>>> b = arange(4)
>>> b
array([0, 1, 2, 3])

0から3まで 0.5 きざみの配列を生成
>>> np.arange(0,3,0.5)
array([ 0. ,  0.5,  1. ,  1.5,  2. ,  2.5])

等しく割り付けられた配列を作成

>>> c = linspace(-pi,pi,3)
>>> c
array([-3.14159265,  0.        ,  3.14159265])

既存の配列から生成

>>> a1 = array([10,20,30])
>>> a2 = array([1,2,3])
>>> a3 = (a1 + a2) * 2
>>> a3
array([22, 44, 66])

多次元配列

>>> x = ones( (3,4) )
>>> x
array([[ 1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.]])
>>> x.shape # タプルで次元を取得
(3, 4)

既存の配列の次元を変更

>>> y = arange(12)
>>> y
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>> y.shape = (3,4)
>>> y
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

 参照

箇所を指定

1次元
x[n]
2次元
x[n,m]

範囲を指定

1次元
x[start:end:step]
2次元
x[start:end:step,start:end:step]

行を抽出

x[r]
x[r,]
x[r,:]

列を抽出

x[,:c]

取り出した値が1次元の配列になるため注意 reshape()

条件を満たすデータを取り出す





 操作

次元が異なる配列の演算

それぞれの列に掛ける
>>> x = arange(4)
>>> x
array([0, 1, 2, 3])
>>> x * 2
array([0, 2, 4, 6])

それぞれの行に足し込む
>>> y = arange(10)
>>> y.shape = (2,5)
>>> y
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])
>>> y1 = array([10,20,30,40,50])
>>> y2 = y + y1
>>> y2
array([[10, 21, 32, 43, 54],
       [15, 26, 37, 48, 59]])



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.