日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NumPy广播机制

發布時間:2023/12/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NumPy广播机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NumPy廣播機制

NumPy 中的廣播機制(Broadcast)旨在解決不同形狀數組之間的算術運算問題。我們知道,如果進行運算的兩個數組形狀完全相同,它們直接可以做相應的運算。示例如下:

import numpy as np a = np.array([0.1,0.2,0.3,0.4]) b = np.array([10,20,30,40]) c = a * b print(c)

輸出結果如下:

[ 1. 4. 9. 16.]

但如果兩個形狀不同的數組呢?它們之間就不能做算術運算了嗎?當然不是!為了保持數組形狀相同,NumPy 設計了一種廣播機制,這種機制的核心是對形狀較小的數組,在橫向或縱向上進行一定次數的重復,使其與形狀較大的數組擁有相同的維度。

當進行運算的兩個數組形狀不同,Numpy 會自動觸發廣播機制。示例如下:

import numpy as np a = np.array([[ 0, 0, 0],[10,10,10],[20,20,20],[30,30,30]]) #b數組與a數組形狀不同 b = np.array([1,2,3]) print(a + b)

輸出結果為:

[[ 1 2 3] [11 12 13] [21 22 23] [31 32 33]]

下圖 1 :通過數組 a 、b 的運算展示了廣播機制的實現流程。

圖1:Numpy 數組廣播機制

4x3 的二維 a 數組 與 1x3 的一維 b 數組相加,本質上可以理解為 b 數組在縱向上向下拓展 3 次(將第一行重復 3 次),從而生成與 a 數組相同形狀的數組,之后再與 a 數組進行運算。

總結

以上是生活随笔為你收集整理的NumPy广播机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。