中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中np.cumsum和np.cumprod函數到底在干嘛

發布時間:2021-05-18 14:57:16 來源:億速云 閱讀:682 作者:小新 欄目:開發技術

這篇文章主要介紹python中np.cumsum和np.cumprod函數到底在干嘛,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

pandas.Series.cumprod 官方文檔

cumprod()累積連乘

Series.cumprod(axis=None, skipna=True, *args, **kwargs)
#實現功能:Return cumulative product over a DataFrame or Series axis.
#實現功能:Returns a DataFrame or Series of the same size containing the cumulative product.
#return:scalar or Series

cumsum()累積連加

pandas.Series.prod官方文檔

Series.prod(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs)
# 實現功能:Return the product of the values for the requested axis.
# return:scalar or Series

優點沒看明白,因為常規情況下,所用的.prod()并非pandas下的函數,而是numpy下的函數。

numpy.prod官方文檔

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class numpy._globals._NoValue>)
# 實現功能:Return the product of array elements over a given axis.
# return:product_along_axis : ndarray

返回給定軸上數組元素的乘積。

跟cumprod不同,cumprod是計算當前一個累積乘上前面所有的數據,更多是一個list;prod返回的是給定這個軸上最終一個值。

補充:【python初學者】簡單易懂的圖解:np.cumsum和np.cumprod函數到底在干嘛?

1.np.cumsum

本人是一名python小白,最近過完了python的基本知識后,在看《利用python進行數據分析》這本書,書中cumsum函數一筆帶過留下本小白“懵逼樹下你和我”,當然是我自己的問題不是書的問題,經過畫圖理解后漸漸明白了這個函數到底在干么。

1.1np.cumsum-軸的概念

首先,在學習cumsum函數之前我們應該先明白什么是軸,以下面代碼來進行說明:

arr=np.arange(1,17,1).reshape((2,2,4))
arr
array([[[ 1,  2,  3,  4],
        [ 5,  6,  7,  8]],

       [[ 9, 10, 11, 12],
        [13, 14, 15, 16]]])

其實數組的軸(axis)就是數組的維度,上面的代碼生成了一個224的數組,所以

1、這個數組的0軸為2 ,axis=0

2、這個數組的1軸為2 ,axis=1

3、這個數組的2軸為4 ,axis=2

該數組如圖所示(藍,橙,黃,綠都是2軸,橙和綠上的“2軸”畫圖時忘了標注):

python中np.cumsum和np.cumprod函數到底在干嘛

這里還要補充說一下:紅色的數字只是因為我用的iPad畫圖很不方便所以沒改成黑色,忽略就好

1.2cumsum(axis=0)

cumsum作用計算軸向元素累加和,返回由中間結果組成的數組

這句概念中我認為大家理解起來比較難受的地方應該是軸向元素累加。

首先,通過前文對軸概念的理解我們可以知道

axis=0代表著最外層的維度也就是0軸(這里可能說法不太正確,主要為了配合上節圖片),所以就是0軸的累加計算,我們以前文用到的數組為例(紅色虛線表示按照0軸進行累加):

step1:

沿著0軸進行累加

python中np.cumsum和np.cumprod函數到底在干嘛

step2:

將[1,2,3,4]和[9,10,11,12]進行累加,將[5,6,7,8]和[13,14,15,16]

python中np.cumsum和np.cumprod函數到底在干嘛

代碼:

arr=np.array([[[ 1,  2,  3,  4],
               [ 5,  6,  7,  8]],
              [[ 9, 10, 11, 12],
               [13, 14, 15, 16]]])
arr.cumsum(axis=0)

結果為:

array([[[ 1,  2,  3,  4],
        [ 5,  6,  7,  8]],

       [[10, 12, 14, 16],
        [18, 20, 22, 24]]])

1.3cumsum(axis=1)

這里我們還是以之前舉例的數組為例,沿著1軸進行累加(也就是2 * 2 * 4中的第二個2),這里為了方便講解我將數組的擺放位置換了一下,不影響哈~

step1:

紅色虛線代表我們現在應該沿著1軸進行累加啦!

python中np.cumsum和np.cumprod函數到底在干嘛

step2:

既然沿著1軸進行累加,我們是不是就應該在1軸內部進行累加呢?

所以就應該[1,2,3,4]和[5,6,7,8]進行累加,[9,10,11,12]和[13,14,15,16]進行累加

python中np.cumsum和np.cumprod函數到底在干嘛

代碼結果:

arr.cumsum(axis=1)
#運行結果
array([[[ 1,  2,  3,  4],
        [ 6,  8, 10, 12]],

       [[ 9, 10, 11, 12],
        [22, 24, 26, 28]]])

1.4cumsum(axis=2)

都已經講到沿著軸2進行累加了,廢話就不多說了直接放圖,大家看看有沒有做對吧

step1:

老規矩:紅色虛線表示沿著2軸進行累加,所以應該是1,2,3,4進行累加,5,6,7,8進行累加,依次類推

python中np.cumsum和np.cumprod函數到底在干嘛

step2

我們以藍色這一項為例:

第一項:1第二項:1+2=3第三項:1+2+3=6第四項:1+2+3+4=10

python中np.cumsum和np.cumprod函數到底在干嘛

代碼結果:

arr.cumsum(axis=2)
#運行結果
array([[[ 1,  3,  6, 10],
        [ 5, 11, 18, 26]],

       [[ 9, 19, 30, 42],
        [13, 27, 42, 58]]])

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。

以上是“python中np.cumsum和np.cumprod函數到底在干嘛”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台前县| 长治市| 海南省| 襄樊市| 渭源县| 莆田市| 德江县| 麻栗坡县| 天镇县| 安化县| 黔西县| 金门县| 射洪县| 玉环县| 枣阳市| 措勤县| 洱源县| 海城市| 临澧县| 蒲城县| 双流县| 扎鲁特旗| 抚顺市| 大英县| 遂宁市| 顺平县| 蓬莱市| 贵南县| 当雄县| 西昌市| 绥江县| 马尔康县| 文山县| 内黄县| 龙江县| 建德市| 达孜县| 庆云县| 玛纳斯县| 北海市| 察哈|