最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3 numpy中數(shù)組相乘np.dot(a,b)運(yùn)算的規(guī)則說(shuō)明

 更新時(shí)間:2021年03月16日 10:15:41   作者:Moelimoe  
這篇文章主要介紹了python3 numpy中數(shù)組相乘np.dot(a,b)運(yùn)算的規(guī)則說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

python np.dot(a,b)運(yùn)算規(guī)則解析

首先我們知道dot運(yùn)算時(shí)不滿足交換律的,np.dot(a, b)與np.dot(b, a)是不一樣的

另外np.dot(a,b)和a.dot(b)果是一樣的

1.numpy中數(shù)組相乘np.dot(a,b)運(yùn)算條件:

對(duì)于兩數(shù)組a和b :

示例一:

a = np.array([[3], [3], [3]]) # (3,1)
b = np.array([2, 2, 1]) # (3,)
print(a, "\na的shape", a.shape)
print(b, "\nb的shape", b.shape)
c = b.dot(a)
print(c, "\nc的shape", c.shape)

輸出:

 [3]
 [3]] 
a的shape (3, 1)
[2 2 1] 
b的shape (3,)
[15] 
c的shape (1,)

示例二:

a = np.array([[2,2,2,1],[3,3,3,1],[4,4,4,4]]) # shape=(3,4)
b = np.array([[1,1,1],[2,2,2],[3,3,3],[4,4,4]]) # shape=(4,3)

可以直接看他們的shape:a的shape為(3, 4)設(shè)為(m, n);b的shape為(4, 3)設(shè)為(x, y)

對(duì)于上面兩個(gè)數(shù)組a,b:

np.dot(a,b)的運(yùn)算條件為:n==x,如果a的shape變?yōu)?4, 3)則兩則無(wú)法dot

簡(jiǎn)單來(lái)說(shuō)規(guī)律就是:如果a.shape=(m,n),b.shape=(x,y)那么**np.dot(a,b)**的運(yùn)算條件為:n=x (這一點(diǎn)用于在python理解和快速判斷數(shù)組的shape是否用對(duì)了)

實(shí)際上數(shù)組運(yùn)算的規(guī)律將兩個(gè)數(shù)組畫(huà)出來(lái),是這樣的:

2.np.dot(a,b)運(yùn)算之后的結(jié)果解析

規(guī)律:dot之后會(huì)將兩組數(shù)組中相等的(符合dot條件的)維度消掉,得到剩下的維度組合成新的數(shù)組,如果剩下只有一個(gè)維度則為行(對(duì)應(yīng)一維),列是無(wú)

對(duì)于a.shape=(m,n),b.shape=(x,y):

dot之后n和x會(huì)消掉,結(jié)果shape變成(m,y)

如果n為1(或者空),shape變?yōu)椋▂,)

e.g1:

a = np.array([1,1,1]) # shape=(3,)
b = np.array([[3],[3],[3]]) # shape=(3,1)
print(np.dot(a,b))
print("dot之后的shape為:", np.dot(a,b).shape)

那么,3和3消掉,剩下只有一個(gè)數(shù)1,對(duì)應(yīng)1行沒(méi)有列==>(1,)

運(yùn)算結(jié)果:

[9]
dot之后的shape為:(1,)

e.g2:

a.shape=(4,1) 
b.shape=(1,4)

那么( 1和1消掉,剩下(4,4) )

np.dot(a,b)的shape為(4,4)

補(bǔ)充:Python3中的列表、數(shù)組和矩陣及*、np.dot和np.multiply解析

今天用Python進(jìn)行數(shù)據(jù)處理的時(shí)候,突然發(fā)現(xiàn)自己搞不清Python中的列表和數(shù)組有啥區(qū)別及其運(yùn)算規(guī)則,總是得不到自己想要的結(jié)果。于是就開(kāi)始在網(wǎng)上找相關(guān)資料,發(fā)現(xiàn)很多資料講的都十分片面,下面自己總結(jié)的各個(gè)資料,給大家進(jìn)行詳細(xì)的解釋:

1.列表、數(shù)組和矩陣

列表是Python中最基本的數(shù)據(jù)結(jié)構(gòu),列表中可以存儲(chǔ)數(shù)字、字符串等,因此Python可以通過(guò)列表存儲(chǔ)數(shù)組;

數(shù)組是Python擴(kuò)展庫(kù)Numpy中的一種數(shù)據(jù)結(jié)構(gòu)ndarray;

矩陣是同樣是Python擴(kuò)展庫(kù)Numpy中的一種數(shù)據(jù)結(jié)構(gòu)mat;

那么既然存在列表,為什么我們不直接使用Python中的列表,而使用Numpy呢?原因顯然意見(jiàn),Python中列表的存儲(chǔ)效率和輸入輸出性能遠(yuǎn)不及Numpy中的數(shù)組和矩陣,但是由于列表中可以存儲(chǔ)任意元素,因此列表的通用性方面要比數(shù)組和矩陣強(qiáng)??傊斜砼c數(shù)組、矩陣各有各的優(yōu)勢(shì),要視使用場(chǎng)合選擇合適的數(shù)據(jù)結(jié)構(gòu)。

同樣Numpy中的數(shù)組和矩陣也是有區(qū)別的:

Numpy中的矩陣必須是2維的,而Numpy中數(shù)組可以是多維的,因此矩陣是數(shù)組的一個(gè)特例,所以在Numpy中的矩陣?yán)^承著數(shù)組的所有特性;

同時(shí)我們常常需要查看列表、數(shù)組和矩陣的屬性,如size、shape、len

其中l(wèi)en():返回對(duì)象的長(zhǎng)度,可以作用于列表、數(shù)組和矩陣:len(list([1,2,3]))

size()和shape()是Numpy擴(kuò)展庫(kù)中才用的函數(shù):

size():計(jì)算所有數(shù)據(jù)的個(gè)數(shù),同樣可以作用于列表、數(shù)組和矩陣:np.size(np.array([1,2,3]))

shape():得到數(shù)據(jù)每維的大小,同樣可以作用于列表、數(shù)組和矩陣:np.shape(np.array([1,2,3]))

不同于len,shape和size還可以作為數(shù)組和矩陣的屬性(列表不行),使用方法如下:a.shape、a.size

2.Python中的星號(hào)(*)、np.multiply()、np.dot()

1.星號(hào)(*):

對(duì)數(shù)組執(zhí)行對(duì)應(yīng)位置相乘;對(duì)矩陣執(zhí)行矩陣乘法運(yùn)算

2.np.multiply()

不管對(duì)矩陣還是數(shù)組都是執(zhí)行對(duì)應(yīng)位置相乘

3.np.dot()

對(duì)秩為1的數(shù)組:對(duì)應(yīng)位置相乘并求和

對(duì)秩不為1的數(shù)組:矩陣乘法運(yùn)算

對(duì)矩陣:矩陣乘法運(yùn)算

上面是對(duì)列表、數(shù)組、矩陣以及Python中各種乘法的總結(jié),果然總結(jié)對(duì)自己理解問(wèn)題有很大的幫助,現(xiàn)在自己自己很清楚它們的用法了,希望這篇博客也可以幫助大家~

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Django 視圖層(view)的使用

    Django 視圖層(view)的使用

    這篇文章主要介紹了Django 視圖層(view)的使用,詳細(xì)的介紹了什么是視圖層以及案例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Python處理mysql特殊字符的問(wèn)題

    Python處理mysql特殊字符的問(wèn)題

    今天小編就為大家分享一篇Python處理mysql特殊字符的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • python學(xué)習(xí)必備知識(shí)匯總

    python學(xué)習(xí)必備知識(shí)匯總

    這篇文章主要介紹了python學(xué)習(xí)必備知識(shí)匯總的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • PyQt5中QPushButton的用法詳細(xì)解析與應(yīng)用實(shí)戰(zhàn)

    PyQt5中QPushButton的用法詳細(xì)解析與應(yīng)用實(shí)戰(zhàn)

    PyQt5 是一個(gè)用于創(chuàng)建圖形用戶界面的 Python 綁定庫(kù),它基于 Qt5 應(yīng)用程序框架,在 PyQt5 中,QPushButton 是一個(gè)常用的控件,用于創(chuàng)建按鈕,允許用戶通過(guò)點(diǎn)擊來(lái)觸發(fā)某些操作,本文將詳細(xì)介紹 QPushButton 的用法,并通過(guò)實(shí)際案例來(lái)展示其強(qiáng)大的功能
    2024-07-07
  • python將天氣預(yù)報(bào)可視化

    python將天氣預(yù)報(bào)可視化

    大家好,本篇文章主要講的是python將天氣預(yù)報(bào)可視化,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Matplotlib繪圖基礎(chǔ)之子圖詳解

    Matplotlib繪圖基礎(chǔ)之子圖詳解

    這篇文章主要為大家詳細(xì)介紹了Matplotlib繪制子圖的常用方式和技巧,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-07-07
  • Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉)

    Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉)

    這篇文章主要介紹了Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • python對(duì)象與json相互轉(zhuǎn)換的方法

    python對(duì)象與json相互轉(zhuǎn)換的方法

    這篇文章主要介紹了python對(duì)象與json相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解Python locals()的陷阱

    詳解Python locals()的陷阱

    這篇文章主要介紹了詳解Python locals()的陷阱,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Python yield生成器和return對(duì)比代碼實(shí)例

    Python yield生成器和return對(duì)比代碼實(shí)例

    這篇文章主要介紹了Python yield生成器和return對(duì)比代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論

闵行区| 深泽县| 禄劝| 唐河县| 双桥区| 苏州市| 仪征市| 息烽县| 尼勒克县| 开江县| 册亨县| 昌江| 六盘水市| 北辰区| 叶城县| 荣昌县| 蕉岭县| 黄梅县| 万荣县| 拉孜县| 遂川县| 孝义市| 广南县| 宜昌市| 怀安县| 邵阳县| 肇州县| 兴义市| 东光县| 武冈市| 铜川市| 运城市| 英德市| 乌苏市| 永康市| 景洪市| 探索| 连平县| 奎屯市| 海宁市| 上思县|