如何正確的使用numpy.sum()函數(shù)?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上千服務(wù),創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)
在參數(shù)列表中:
a是要進(jìn)行加法運(yùn)算的向量/數(shù)組/矩陣
axis的值可以為None,也可以為整數(shù)和元組
其形參的注釋如下:
a : array_like elements to sum.
a:用于進(jìn)行加法運(yùn)算的數(shù)組形式的元素
axis : None or int or tuple of ints, optional
Axis or axes along which a sum is performed.
The default, axis=None, will sum all of the elements of the input array.
If axis is negative it counts from the last to the first axis.
If axis is a tuple of ints, a sum is performed on all of the axes
specified in the tuple instead of a single axis or all the axes as before.
根據(jù)上文,可知:
axis的取值有三種情況:1.None,2.整數(shù), 3.整數(shù)元組。
(在默認(rèn)/缺省的情況下,axis取None)
如果axis取None,即將數(shù)組/矩陣中的元素全部加起來(lái),得到一個(gè)和。
Example:
>>> np.sum([0.5, 1.5]) 2.0 >>> np.sum([0.5, 0.7, 0.2, 1.5], dtype=np.int32) 1 >>> np.sum([[0, 1], [0, 5]]) 6
如果axis為整數(shù),axis的取值不可大于數(shù)組/矩陣的維度,且axis的不同取值會(huì)產(chǎn)生不同的結(jié)果。
先以2×2的二維矩陣為例:
>>> np.sum([[0, 1], [0, 5]], axis=0) array([0, 6]) >>> np.sum([[0, 1], [0, 5]], axis=1) array([1, 5])
在上述例子中
當(dāng)axis為0時(shí),是壓縮行,即將每一列的元素相加,將矩陣壓縮為一行
當(dāng)axis為1時(shí),是壓縮列,即將每一行的元素相加,將矩陣壓縮為一列(這里的一列是為了方便理解說(shuō)的,實(shí)際上,在控制臺(tái)的輸出中,仍然是以一行的形式輸出的)
具體理解如圖:
當(dāng)axis取負(fù)數(shù)的時(shí)候,對(duì)于二維矩陣,只能取-1和-2(不可超過(guò)矩陣的維度)。
當(dāng)axis=-1時(shí),相當(dāng)于axis=1的效果,當(dāng)axis=-2時(shí),相當(dāng)于axis=0的效果。
如果axis為整數(shù)元組(x,y),則是求出axis=x和axis=y情況下得到的和。
繼續(xù)以上面的2×2矩陣為例
>>>np.sum([[0,1],[0,5]],axis=(0,1)) >>>6 >>>np.sum([[0,1],[0,5]],axis=(1,0)) >>>6
另外,需要注意的是:如果要輸入兩個(gè)數(shù)組/矩陣/向量進(jìn)行相加,那么就要先把兩個(gè)數(shù)組/矩陣/向量用一個(gè)括號(hào)括起來(lái),形成一個(gè)元組,這樣才能夠進(jìn)行相加。因?yàn)閚umpy.sum的運(yùn)算實(shí)現(xiàn)本質(zhì)是通過(guò)矩陣內(nèi)部的運(yùn)算實(shí)現(xiàn)的。
當(dāng)然,如果只是向量/數(shù)組之間做加法運(yùn)算,可以直接讓兩個(gè)向量/數(shù)組相加,但前提是它們必須為numpy的array數(shù)組才可以,否則只是單純的列表相加
Example:
>>>v1 = [1, 2] >>>v2 = [3, 4] >>>v1 + v2 [1, 2, 3, 4] >>>v1 = numpy.array[1, 2] >>>v2 = numpy.array[3, 4] >>>v1 + v2 [4, 6]
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。