小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

數(shù)據(jù)分析之NumPy(五)數(shù)組間運(yùn)算

 袁先森lemon 2021-08-05

數(shù)組與數(shù)的運(yùn)算

arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr + 1
arr * 2
arr / 2
# 可以對比python列表的運(yùn)算,看出區(qū)別
a = [1, 2, 3, 4, 5]
a * 3

在這里插入圖片描述

數(shù)組與數(shù)組的運(yùn)算

arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr2 = np.array([[1, 2, 3, 4], [3, 4, 5, 6]])
在這里插入圖片描述
上面這個(gè)能進(jìn)行運(yùn)算嗎,結(jié)果是不行的!

嘗試如下操作呢?

a = np.arange(10).reshape((2,5))
b = np.arange(10,20).reshape((2,5))
a+b

在這里插入圖片描述
接下來就需要引入數(shù)組間操作的規(guī)則:廣播機(jī)制

廣播(broadcast)機(jī)制

執(zhí)行 broadcast 的前提在于,兩個(gè) ndarray 執(zhí)行的是 element-wise的運(yùn)算,Broadcast機(jī)制的功能是為了方便不同形狀的ndarray(numpy庫的核心數(shù)據(jù)結(jié)構(gòu))進(jìn)行數(shù)學(xué)運(yùn)算。

當(dāng)操作兩個(gè)數(shù)組時(shí),numpy會(huì)逐個(gè)比較它們的shape(構(gòu)成的元組tuple),只有在下述情況下,兩個(gè)數(shù)組才能夠進(jìn)行數(shù)組與數(shù)組的運(yùn)算。

  • 維度相等
  • shape(其中相對應(yīng)的一個(gè)地方為1)
    在這里插入圖片描述
    廣播機(jī)制的目的在于:把不同形狀的兩個(gè)陣列變成相同
    在這里插入圖片描述
    上述(2,1,4)與(3,1)中,從尾部算起,其中第一個(gè)數(shù)組的末位4,第二個(gè)數(shù)組的末位為1,符合廣播機(jī)制中的相對應(yīng)的一個(gè)地方為1,依次往前位數(shù)類推,兩個(gè)數(shù)組滿足廣播機(jī)制,所以可以進(jìn)行運(yùn)算
    再例如:
Image (3d array):  256 x 256 x 3
Scale (1d array):              3
Result (3d array): 256 x 256 x 3

A      (4d array):  9 x 1 x 7 x 1
B      (3d array):      8 x 1 x 5
Result (4d array):  9 x 8 x 7 x 5

A      (2d array):  5 x 4
B      (1d array):      1
Result (2d array):  5 x 4

A      (2d array):  15 x 3 x 5
B      (1d array):  15 x 1 x 1
Result (2d array):  15 x 3 x 5

如果是下面這樣,則不匹配:

A  (1d array): 10
B  (1d array): 12
A  (2d array):      2 x 1
B  (3d array):  8 x 4 x 3

思考:下面兩個(gè)ndarray是否能夠進(jìn)行運(yùn)算?

arr1 = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])
arr2 = np.array([[1], [3]])

arr1形狀為:(2,6),arr2形狀為:(2,1)

在這里插入圖片描述

矩陣運(yùn)算

現(xiàn)在思考如下的學(xué)生成績問題:
在這里插入圖片描述
在這里插入圖片描述
思考:如何能夠直接得出每個(gè)學(xué)生的成績?

什么是矩陣

矩陣,英文matrix,和array的區(qū)別矩陣必須是2維的,但是array可以是多維的。

  • np.mat()
    將數(shù)組轉(zhuǎn)換成矩陣類型
    在這里插入圖片描述

矩陣乘法運(yùn)算

矩陣乘法的兩個(gè)關(guān)鍵:

  • 形狀改變
  • 運(yùn)算規(guī)則
    形狀改變:
    在這里插入圖片描述
    必須符合上面的式子,否則運(yùn)算出錯(cuò)。
    運(yùn)算規(guī)則:
    在這里插入圖片描述
    矩陣乘法api:
    在這里插入圖片描述
    -np.matmul
    -np.dot
    在這里插入圖片描述

矩陣應(yīng)用場景

大部分機(jī)器學(xué)習(xí)算法需要用到

版權(quán)聲明:
筆者博客文章主要用來作為學(xué)習(xí)筆記使用,內(nèi)容大部分整理自互聯(lián)網(wǎng),如有侵權(quán),請聯(lián)系博主刪除!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多