3
1

More than 3 years have passed since last update.

基本的なndarrayの作成方法

Posted at

はじめに

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については次の記事を参考にしました。

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

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1