Python入門トップページ


目次

  1. NumPy とは
  2. Python リストの場合
  3. NumPy の使用例
    1. 1次元配列(ベクトル)
    2. 2次元配列(行列)
    3. 要素の取り出し
    4. ベクトルと行列の変換
    5. NumPy のデータ型
    6. NumPy 配列の作成と操作
    7. ユニバーサル関数と集約関数
    8. NumPy 配列のソート
    9. NumPy の構造化配列
    10. NumPy 配列の保存と読み込み
  4. NumPy で線形代数
  5. NumPy の乱数生成

NumPy

NumPy の使用例

ベクトルと行列の変換

NumPy ではベクトルを行列に変換したり,行列を平らなベクトルに変換することもできる.

ベクトルを行列にimport numpy as np # プログラムの先頭でモジュールを読み込む
# ベクトルを行列に変換する
a = np.array([1, 2, 3, 4, 5, 6])
A = a.reshape(2, 3)
print(A)
[[1 2 3]
 [4 5 6]]
行列を平らに# 行列を平らに変換
a = A.ravel()
print(a)
[1 2 3 4 5 6]

なお,行列を平らにするメソッドには flatten() もある.ravel() では要素を共有するが,flatten() では要素をコピーして変換する.したがって,値を書き換えたときに動作が異なるのとともに,コピーを行わない ravel() の方が処理効率の面では効率的である.

flatten()で平らにA = np.array([[1,2,3,4], [5,6,7,8]])
a = A.flatten() # コピーして変換
print(A)
print(a)
[[1 2 3 4]
 [5 6 7 8]]
[1 2 3 4 5 6 7 8]
要素を書き換えるA[0,1] = 10 # a には影響しない
a[6] = 20 # A には影響しない
print(A)
print(a)
[[ 1 10  3  4]
 [ 5  6  7  8]]
[ 1  2  3  4  5  6 20  8]
A = np.array([[1,2,3,4], [5,6,7,8]])
a = A.ravel() # 平らに
print(A)
print(a)
[[1 2 3 4]
 [5 6 7 8]]
[1 2 3 4 5 6 7 8]
A[0,1] = 10 # a にも影響する
a[6] = 20 # A にも影響する
print(A)
print(a)
[[ 1 10  3  4]
 [ 5  6 20  8]]
[ 1 10  3  4  5  6 20  8]

目次に戻る