解決Numpy中sum函數(shù)求和結(jié)果維度的問題
使用Numpy(下面簡稱np)中的sum函數(shù)對某一維度求和時(shí),由于該維度會(huì)在求和后變成一個(gè)數(shù),所以所得結(jié)果的這一維度為空。
比如下面的例子:
a = np.array([[1,2,3],[4,5,6]]) b = np.sum(a,axis=1) print(b.shape) # (2,)
所以,對于一個(gè)shape為(2,3)的數(shù)組,在默認(rèn)情況下使用np.sum函數(shù)求和后得到的結(jié)果shape是 (2,),如果我們想得到的是(2,1)的shape怎么辦?比如Ng的深度學(xué)習(xí)編程練習(xí)中Course 1 Assignment 4就要求這樣。使用reshape函數(shù)當(dāng)然可以,只是沒有必要,太麻煩了一點(diǎn)不優(yōu)雅。我們可以使用通過設(shè)置keepdims參數(shù)實(shí)現(xiàn),還是這個(gè)例子:
a = np.array([[1,2,3],[4,5,6]]) b = np.sum(a,axis=1,keepdims=True) print(b.shape) # (2,1)
(2,1)和(2,)的shape之間不同參見 What's the difference between (N,) and (N,1) in Numpy? —Stackoverflow
這里有個(gè)小例子可以幫助理解:
a = np.ones((5,)) b = np.ones((5,1)) print(a) # [1. 1. 1. 1. 1.] print(b) # [[1.] # [1.] # [1.] # [1.] # [1.]]
以上這篇解決Numpy中sum函數(shù)求和結(jié)果維度的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python經(jīng)典趣味24點(diǎn)游戲程序設(shè)計(jì)
這篇文章主要介紹了python經(jīng)典趣味24點(diǎn)游戲程序設(shè)計(jì),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python OpenCV圖像指定區(qū)域裁剪的實(shí)現(xiàn)
這篇文章主要介紹了Python OpenCV圖像指定區(qū)域裁剪的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
python Pandas中數(shù)據(jù)的合并與分組聚合
大家好,本篇文章主要講的是python Pandas中數(shù)據(jù)的合并與分組聚合,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01
Tensorflow使用tfrecord輸入數(shù)據(jù)格式
這篇文章主要介紹了Tensorflow使用tfrecord輸入數(shù)據(jù)格式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
Python中Tkinter Scrollbar滾動(dòng)條(窗口滑動(dòng)條)
本文主要介紹了Python中Tkinter Scrollbar滾動(dòng)條(窗口滑動(dòng)條),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

