numpy陣列遵循一組嚴格的規則,這組規則決定了兩個陣列之間的操作:
1、如果兩個陣列的維度不同,小維度陣列將在最左邊補1
2、如果兩個陣列任何乙個維度都不匹配,陣列會擴充套件小的維度來和較大的那個陣列維度匹配
3、兩個陣列在任何乙個維度上都不匹配並且沒有任何乙個維度等於1,會引發異常
>>
>a = np.arange(3)
.reshape((3
,1))
array([[
0],[
1],[
2]])
>>
>b = np.arange(3)
array([0
,1,2
])>>
>a + b
array([[
0,1,
2],[
1,2,
3],[
2,3,
4]])
簡單點理解就是,把低維度的陣列橫向或者縱向複製(每一行或列的值不變),然後和搞維度的陣列匹配,再進行運算。
陣列資料歸一化:
>>
>x = np.random.random((10
,3))
>>
>xmean = x.mean(0)
>>
>xmean
array(
[0.42165706
,0.46685436
,0.5813995])
>>
>x_centered = x - xmean
>>
>x_centered.mean(0)
array(
[0.00000000e+00
,5.55111512e-18
,5.55111512e-17
])
numpy的廣播規則
首先說一下numpy的廣播規則 1 如果兩個數的維度數不同,那麼小維度陣列的形狀將會在最左邊補1。2 如果兩個陣列的形狀在任何乙個維度都不匹配,那麼陣列的形狀會沿著維度為1的維度擴充套件以匹配另外乙個陣列的形狀。3 如果兩個陣列的形狀在任何乙個維度上都不匹配並且沒有任何乙個維度等於1,那麼會引發異常...
numpy陣列廣播詳解
numpy陣列的廣播功能強大,但是也同時讓人疑惑不解,現在讓我們來談談其中的原理。廣播原則 如果兩個陣列的後緣維度 即 從末尾開始算起的維度 的軸長相符或其中一方的長度為1,則認為它們是廣播相容的,廣播會在缺失和 或 長度為1的軸上進行.上面的原則很重要,是廣播的指導思想,下面我們來看看例子。1.其...
Numpy陣列的廣播機制
numpy陣列不需要迴圈遍歷,即可對每個元素執行批量的算術運算操作 向量化運算 當兩個陣列大小 numpy.shape 不同時,進行算術運算會出現廣播機制。陣列在進行向量化運算的時,要求陣列形狀時相等的。當形狀不等的陣列執行算術運算的時候,就會出現廣播機制,該機制會對陣列進行擴充套件,使陣列的sha...