NumPyによる配列(ndarray)の生成 まとめ

NumPyにおける配列(ndarray)の生成についてまとめます。

1
2
import numpy as np
dummy = np.random.rand(2, 3) # 後ほど使います

全ての要素が1の配列

1
2
3
np.ones((2,3))
array([[1., 1., 1.],
[1., 1., 1.]])
1
2
3
np.ones_like(dummy)
array([[1., 1., 1.],
[1., 1., 1.]])

全ての要素が0の配列

1
2
3
np.zeros((2,3))
array([[0., 0., 0.],
[0., 0., 0.]])
1
2
3
np.zeros_like(dummy)
array([[0., 0., 0.],
[0., 0., 0.]])

要素の値を問わない配列

1
2
3
np.empty((2,3))
array([[0.43365687, 0.47148556, 0.30219278],
[0.83642575, 0.84451664, 0.63210713]])
1
2
3
np.empty_like(dummy)
array([[0.43365687, 0.47148556, 0.30219278],
[0.83642575, 0.84451664, 0.63210713]])

全ての要素が、指定した値の配列

1
2
3
np.full((2, 3), -1)
array([[-1, -1, -1],
[-1, -1, -1]])
1
2
3
np.full_like(dummy, -1)
array([[-1., -1., -1.],
[-1., -1., -1.]])

単位行列

1
2
3
np.eye(2)
array([[1., 0.],
[0., 1.]])
1
2
3
np.eye(2, 3)
array([[1., 0., 0.],
[0., 1., 0.]])
1
2
3
4
np.eye(3, 2)
array([[1., 0.],
[0., 1.],
[0., 0.]])

乱数(0以上1未満の一様乱数)

1
2
3
np.random.rand(2, 3)
array([[0.05281017, 0.30956778, 0.46700981],
[0.49113337, 0.79386647, 0.51450699]])

配列の繰り返し

1
2
3
4
5
6
r = np.array([[0,1],[2,3]])
np.tile(r,(2,3))
array([[0, 1, 0, 1, 0, 1],
[2, 3, 2, 3, 2, 3],
[0, 1, 0, 1, 0, 1],
[2, 3, 2, 3, 2, 3]])

等差数列

1
2
np.arange(3)
array([0, 1, 2])