數組很重要,因為它使你不用編寫循環即可對數據執行批量運算。這通常就叫做矢量化(vectorization)。大小相等的數組之間的任何算術運算都會將運算應用到元素級。
<code> import numpy as np
arr = np.array([[1., 2., 3.], [4., 5., 6.]])
arr/<code>
<code> array([[1., 2., 3.],
[4., 5., 6.]])/<code>
<code> arr * arr/<code>
<code> array([[ 1., 4., 9.],
[16., 25., 36.]])/<code>
<code> arr - arr/<code>
<code> array([[0., 0., 0.],
[0., 0., 0.]])/<code>
同樣,數組與標量的算術運算也會將那個標量值傳播到各個元素:
<code>1 / arr/<code>
<code> array([[1. , 0.5 , 0.33333333],
[0.25 , 0.2 , 0.16666667]])/<code>
<code> arr ** 0.5/<code>
<code> array([[1. , 1.41421356, 1.73205081],
[2. , 2.23606798, 2.44948974]])/<code>
不同大小的數組之間的運算叫做廣播(broadcasting)。 有興趣可以自己拓展,我在後文中或多或少會涉及,這裡就不做過多的敘述。
閱讀更多 不愛吃糖的大師 的文章