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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

numpy中的broadcasting

發布時間:2025/1/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numpy中的broadcasting 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Broadcasting 官方文檔
參考文檔
廣播機制應用:

  • numpy.array與scalar
    將scalar擴充成array的形狀后,進行操作

  • 一般arrays間的廣播機制
    從最后邊的維度開始匹配,當滿足下面兩個條件的任意一個時,兩個數組間是兼容的:
    • 維度相等
    • 有一個的維度為1.
      如果上述兩個條件都無法滿足,則會拋出ValueError: operands could not be broadcast together exception is thrown
  • 下面的例子中,A和B陣列都具有長度為1的軸,該軸在廣播操作期間擴展為更大的尺寸
    結果是在每個維度上取較大的值

  • 具體例子
    二維數組與一維數組相加
    (4,3) 與(3,)
  • import numpy as np b = np.arange(6).reshape(2,1,3) print('b','\n',b,'\n',b.shape) c = np.arange(6,12).reshape(2,3) d = b+c print('c','\n',c,'\n',c.shape) print('d=b+c','\n',d,'\n',d.shape)

    b.shape [2,1,3]
    c.shape [2,3]
    從右邊開始,看兩個數組是否兼容,倒數第一位都是3,倒數第二位,b為1,擴充為c的2,最后結果d.shape = [2,2,3]
    b的擴充過程[2,1,3] ——> [2,2,3]

    b [[[0 1 2]][[3 4 5]]]

    擴充為

    b'[[[0 1 2][0 1 2]][[3 4 5][3 4 5]]]

    c的擴充過程[2,3] ——> [2,2,3]

    [[ 6 7 8][ 9 10 11]]

    變為

    [[[ 6 7 8][ 9 10 11]] [[ 6 7 8][ 9 10 11]] ]

    相加后的結果d

    [[[ 6 8 10][ 9 11 13]][[ 9 11 13][12 14 16]]]

    總結

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

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