亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

深入理解numpy廣播機(jī)制

 更新時(shí)間:2023年09月15日 11:35:18   作者:UQI-LIUWJ  
廣播(Broadcast)是 numpy 對(duì)不同形狀(shape)的數(shù)組進(jìn)行數(shù)值計(jì)算的方式,本文深入理解numpy廣播機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下

1 廣播規(guī)則

  • 如果兩個(gè)數(shù)組的維度數(shù)不相同,那么小維度數(shù)組的形狀會(huì)在左邊補(bǔ)1。
  • 如果兩個(gè)數(shù)組在某個(gè)維度上的大小不匹配,并且其中一個(gè)數(shù)組在該維度上的大小為1,則該數(shù)組會(huì)沿著這個(gè)維度擴(kuò)展以匹配另一個(gè)數(shù)組的大小。
  • 如果在任何維度上大小都不匹配并且沒(méi)有一個(gè)大小為1,那么會(huì)引發(fā)錯(cuò)誤。

2 舉例

2.1 基本廣播

import numpy as np
a = np.array([1, 2, 3])
b = 2
print(a * b) 
# =[2 4 6]

在這里,b 被廣播到與 a 相同的大小,然后進(jìn)行乘法。

2.2 維度不同

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.array([1, 0, 1])
print(a + b)
'''
[[ 2  2  4]
 [ 5  5  7]
 [ 8  8 10]]
'''
  • a的維度是[3,3],b是3
  • b的維度首先在左邊補(bǔ)1(變成[1,3])
    • [[1,0,1]]
  • 然后b行復(fù)制,變成[3,3]
    • [[1,0,1], [1,0,1], [1,0,1]]
  • 然后兩個(gè)[3,3]的矩陣相加即可

2.3 兩個(gè)數(shù)組都需要廣播

a = np.array([[1], [2], [3]])
b = np.array([1, 2, 3])
print(a + b)
'''
[[2 3 4]
 [3 4 5]
 [4 5 6]]
'''

在這里,a 的形狀是 (3,1),b 的形狀是 (3,)。

a 被廣播到 (3,3),b 也被廣播到 (3,3),然后它們進(jìn)行加法。

2.4 不兼容的形狀

a = np.array([1, 2, 3])
b = np.array([1, 2])
print(a + b)  
# 這將引發(fā)錯(cuò)誤,因?yàn)樾螤畈患嫒?/pre>

 到此這篇關(guān)于深入理解numpy廣播機(jī)制的文章就介紹到這了,更多相關(guān)numpy廣播內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python多線(xiàn)程方法詳解

    python多線(xiàn)程方法詳解

    大家好,本篇文章主要講的是python多線(xiàn)程方法詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-01-01
  • 使用Python實(shí)現(xiàn)屏幕截圖功能的詳細(xì)教程

    使用Python實(shí)現(xiàn)屏幕截圖功能的詳細(xì)教程

    Python使用ImageGrab截圖主要依賴(lài)于Pillow庫(kù)(PIL庫(kù)的一個(gè)分支),該庫(kù)提供了ImageGrab模塊來(lái)實(shí)現(xiàn)屏幕截圖功能,以下是一個(gè)詳細(xì)的截圖教程,需要的朋友可以參考下
    2025-01-01
  • matplotlib實(shí)戰(zhàn)之餅圖繪制詳解

    matplotlib實(shí)戰(zhàn)之餅圖繪制詳解

    餅圖,或稱(chēng)餅狀圖,是一個(gè)劃分為幾個(gè)扇形的圓形統(tǒng)計(jì)圖表,這篇文章主要為大家詳細(xì)介紹了如何使用Matplotlib繪制餅圖,需要的小伙伴可以參考下
    2023-08-08
  • python?numpy?中l(wèi)inspace函數(shù)示例詳解

    python?numpy?中l(wèi)inspace函數(shù)示例詳解

    這篇文章主要介紹了python?numpy?中l(wèi)inspace函數(shù),本文我們通過(guò)示例學(xué)習(xí)了linspace函數(shù),如果你熟悉NumPy,一定也注意到還有np.arange函數(shù),兩者最大差異是,linspace能夠精確控制終止值終值,而arange能夠更直接地控制序列中值之間的增量,需要的朋友可以參考下
    2023-03-03
  • Python實(shí)現(xiàn)并行抓取整站40萬(wàn)條房?jī)r(jià)數(shù)據(jù)(可更換抓取城市)

    Python實(shí)現(xiàn)并行抓取整站40萬(wàn)條房?jī)r(jià)數(shù)據(jù)(可更換抓取城市)

    本文主要是以房?jī)r(jià)網(wǎng)房?jī)r(jià)信息爬蟲(chóng)為例,對(duì)Python實(shí)現(xiàn)整站40萬(wàn)條房?jī)r(jià)數(shù)據(jù)并行抓取(可更換抓取城市)的方法進(jìn)行分析介紹。需要的朋友一起來(lái)看下吧
    2016-12-12
  • Python Pickling 和 Unpickling 的區(qū)別

    Python Pickling 和 Unpickling 的區(qū)別

    Python中的Pickling和Unpickling是與數(shù)據(jù)序列化和反序列化相關(guān)的重要概念,本文主要介紹了Python Pickling和Unpickling的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • python?字符串索引取值的實(shí)現(xiàn)示例

    python?字符串索引取值的實(shí)現(xiàn)示例

    本文主要介紹了python?字符串索引取值的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python內(nèi)置函數(shù)locals和globals對(duì)比

    Python內(nèi)置函數(shù)locals和globals對(duì)比

    這篇文章主要介紹了Python內(nèi)置函數(shù)locals和globals對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • django認(rèn)證系統(tǒng) Authentication使用詳解

    django認(rèn)證系統(tǒng) Authentication使用詳解

    這篇文章主要介紹了django認(rèn)證系統(tǒng) Authentication使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 分享一下如何編寫(xiě)高效且優(yōu)雅的 Python 代碼

    分享一下如何編寫(xiě)高效且優(yōu)雅的 Python 代碼

    這篇文章主要介紹了分享一下如何編寫(xiě)高效且優(yōu)雅的 Python 代碼,需要的朋友可以參考下
    2017-09-09

最新評(píng)論