目次
NumPy
前回、PythonのNumPyを使ったランダムな値の取得方法を紹介しました。
あわせて読みたい
![](https://3pysci.com/wp-content/uploads/2023/11/python-numpy13-2-300x225.png)
![](https://3pysci.com/wp-content/uploads/2023/11/python-numpy13-2-300x225.png)
【NumPy】NumPyを使ったランダムな値の取得方法[Python]
NumPy 前回、Pythonで再帰処理を大量に行った場合に出る「RecursionError: maximum recursion depth exceeded while calling a Python object」の対処法を紹介しました…
今回は全ての要素が0の配列を作成する方法を紹介します。
それでは始めていきましょう。
np.zeros():全ての要素が0の配列を作成
全ての要素が0の配列を作成するには「np.zeros()」を用います。
引数として数値を与えるとその数だけ要素として0をもつ配列を作成します。
import numpy as np
test1 = np.zeros(5)
print(test1)
実行結果
[0. 0. 0. 0. 0.]
引数をタプルで複数の数値を与えると二次元配列、三次元配列として全ての要素を0としてもつ配列を作成できます。
import numpy as np
test2 = np.zeros((5, 3))
print(test2)
実行結果
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
import numpy as np
test3 = np.zeros((5, 3, 4))
print(test3)
実行結果
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
間違えやすいのは二次元配列、三次元配列などを作成する際、タプルで値を与えず、そのまま引数として与えてしまうことです。
この場合はエラーとなります。
import numpy as np
test4 = np.zeros(5, 3)
print(test4)
実行結果
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[5], line 3
1 import numpy as np
----> 3 test3 = np.zeros(5,3)
5 print(test3)
TypeError: Cannot interpret '3' as a data type
np.zeros_like():既存の配列と同じ構造で要素が0の配列を作成
次に既にある配列と同じ構造で要素が0の配列を作成する方法を紹介します。
その場合は「np.zeros_like(配列)」を用います。
前回紹介した「np.random.rand()」を用いて、ランダムな要素をもつ配列を作成した後、その配列と同じ構造で要素が0の配列を作成してみます。
import numpy as np
test5 = np.random.rand(5, 3)
test6 = np.zeros_like(test5)
print(test5)
print(test6)
実行結果
[[0.28155875 0.37490359 0.21903851]
[0.15826817 0.83419583 0.12759448]
[0.31812487 0.10712567 0.68325333]
[0.67054753 0.15511599 0.60436023]
[0.03760575 0.0157144 0.32311825]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
次回はSciPyのcurve_fitを用いてカーブフィッティングをする方法を紹介します。
ではでは今回はこんな感じで。
あわせて読みたい
あわせて読みたい
コメント