基本的なndarrayの作成方法


はじめに

numpyについて勉強したので、そのアウトプットとして投稿します。

目次

  • 1次元配列
  • 2次元配列
  • その他の関数
  • 参考記事

1次元配列

ここでは1次元配列の作成方法をまとめます。

np.array()

np.array([-3, 5, 3.5])

a = [i for i in range(10)]
np.array(a)

np.array((1, 2, 3))
[-3. 5. 3.5]
[0 1 2 3 4 5 6 7 8 9]
[1 2 3]

np.arange(), np.linspace()

np.arange(10)

np.arange(1, 11, 2)

np.linspace(1, 11, 2)

np.linspace(0, 10, 11)
[0 1 2 3 4 5 6 7 8 9]
[1 3 5 7 9]
[1. 11.]
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]

2次元配列

ここでは2次元配列の作成方法をまとめます。

np.array()

np.array([[-1, 2, 5.5], [-2, 3, 4]])

a = [1, 2, 3]
np.array([a, (4, 5, 6)])
[[-1. 2. 5.5]
 [-2. 3. 4.]]

[[1 2 3]
 [4 5 6]]

要素数が合わないとndarrayを作成できないので注意しましょう。

np.arange(), np.linspace()

np.reshape()を使用

a = np.arange(10)
# [0 1 2 3 4 5 6 7 8 9]
np.reshape(a, (2, 5))

b = np.linspace(0, 10, 6)
# [0. 2. 4. 6. 8. 10.]
np.reshape(b, (3, 2))
[[0 1 2 3 4]
 [5 6 7 8 9]]

[[0. 2.]
 [4. 6.]
 [8. 10.]]

reshapeメソッドを使用

a = np.arange(0, 12, 2)
# [0 2 4 6 8 10]
a.reshape((2, 3))

b = np.linspace(1, 100, 12)
# [1. 10. 19. 28. 37. 46. 55. 64. 73. 82. 91. 100.]
b.reshape(3, 4)
[[0 2 4]
 [6 8 10]]

[[1. 10. 19. 28.]
 [37. 46. 55. 64.]
 [73. 82. 91. 100.]]

またreshape()は指定する配列の片側を-1とすると、自動的に次元数を合わせてくれます。

a = np.array([1, 2, 3, 4, 5, 6])
np.reshape(a, (2, -1))

b = np.linspace(-20, 50, 9)
# [-20. -11.25 -2.5  6.25  15.  23.75  32.5  41.25  50. ]
b.reshape((-1, 3))
[[1 2 3]
 [4 5 6]]

[[-20. -11.25 -2.5]
 [6.25 15.  23.75]
 [32.5 41.25 50. ]]

その他の関数

np.zeros()np.ones()np.full()を使用した配列の作成方法

np.zeros()

np.zeros(3)
np.zeros((3, 4))
[0. 0. 0.]

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

np.ones()

np.ones(3)
np.ones((2, 5))
[1. 1. 1.]

[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]

np.full()

np.full(3, 15)
np.full((3, 2), 12.5)
[15 15 15]

[[12.5 12.5]
 [12.5 12.5]
 [12.5 12.5]]

参考記事

numpyについては次の記事を参考にしました。

また、記事作成は次の記事を参考にしました。