メインコンテンツへスキップ
  1. 授業・研究ノート/
  2. Python/
  3. NumPy/

NumPyの基本

目次
NumPy - この記事は連載の一部です
パート 1: この記事

NumPyとは
#

NumPyはベクトルや行列の演算を高速に行うことが可能な多次元配列のためのライブラリ. 中身はC言語等で実装されているので高速.

ここでは,機械学習の基礎を学ぶ際に使用するものを中心に, NumPyの基礎を記しておく. jupyterでの使用を想定していて,最後に変数だけ書いた行はその変数情報を表示するために書いてある.

import
#

import numpy as np

NumPyの配列(ndarray)
#

  • 1次元はベクトルで,2次元は行列.
  • 1次元配列に縦ベクトル,横ベクトルの区別はない(転置しても変化無し).

リストをndarrayに変換
#

x = [1, 2]
x = np.array(x)
x    # jupyterで変数の情報を表示

出力

array([1, 2])
  • np.array()で変換

2次元配列
#

A = np.array([[1, 2], [3, 4]])
A    # jupyterで出力用

出力

array([[1, 2],
       [3, 4]])

転置
#

ndarray.Tで2次元以上の配列は転置がとれる.

1次元配列
#

x.T

出力

array([1, 2])
  • 1次元配列は変わらない.縦ベクトル,横ベクトルの様な区別はない.

2次元配列
#

A.T

出力

array([[1, 3],
       [2, 4]])

配列の形状
#

C = np.array([[1, 2, 3], [4, 5, 6]])
C    # jupyterで出力用

出力

array([[1, 2, 3],
       [4, 5, 6]])

ndarray.shapeで形状を確認できる.

C.shape

出力

(2, 3)

配列の形状の変更
#

ndarray.reshape()で配列の形状を変更できる.

上記の2行3列の \( C \) を3行2列に変更

C.reshape(3, 2)

出力

array([[1, 2],
       [3, 4],
       [5, 6]])

reshapeでは引数に-1を指定すれば自動でうまく形状変更してくれる.

C.reshape(3, -1)    # 3行だけ指定

出力

array([[1, 2],
       [3, 4],
       [5, 6]])
NumPy - この記事は連載の一部です
パート 1: この記事