久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

numpy 統(tǒng)計(jì)數(shù)組的值出現(xiàn)次數(shù)與np.bincount()詳細(xì)解釋

 大傻子的文淵閣 2019-12-27

目錄

1.  僅統(tǒng)計(jì)數(shù)組的值出現(xiàn)次數(shù)

2. 統(tǒng)計(jì)數(shù)組的值出現(xiàn)次數(shù),,并將沒出現(xiàn)的值記為0

3. 對(duì)于非負(fù)整數(shù)值的統(tǒng)計(jì),效率更高的一種方法 np.bincount()

輸入數(shù)組x需要是非負(fù)整數(shù),,且是一維數(shù)組,。

解釋一下權(quán)重weights,以及最小bin的數(shù)量minlength,。

np.bincount()總結(jié)

np.bincount()舉例



1.  僅統(tǒng)計(jì)數(shù)組的值出現(xiàn)次數(shù)

  1. import numpy as np
  2. from collections import Counter
  3. data = np.array([1.1,1.1,1.1,2,3,5,4,4,4,5])
  4. # 方法一
  5. print('Counter(data)\n',Counter(data)) # 調(diào)用Counter函數(shù)
  6. print('==========')
  7. # 方法二
  8. print('np.unique(data)\n',np.unique(data)) # unique返回的是已排序數(shù)組
  9. for i in np.unique(data):
  10. print(np.sum(data==i)) # 對(duì)照unique數(shù)組,,依次統(tǒng)計(jì)每個(gè)元素出現(xiàn)的次數(shù)
  11. ## np.unique(data,return_counts=True) 能直接返回unique的結(jié)果,也能返回統(tǒng)計(jì)結(jié)果
  12. ## 效果:(array([1.1, 2. , 3. , 4. , 5. ]), array([3, 1, 1, 3, 2], dtype=int64))

2. 統(tǒng)計(jì)數(shù)組的值出現(xiàn)次數(shù),,并將沒出現(xiàn)的值記為0

  1. for i in range(6):
  2. print('i = ',i)
  3. print(np.sum(data==i))

其中,,range(6)可以換成你任意需要的元素列表。這樣,,就可以看到每個(gè)元素出現(xiàn)的直觀情況,。

3. 對(duì)于非負(fù)整數(shù)值的統(tǒng)計(jì),效率更高的一種方法 np.bincount()

對(duì)于類似range(6)這樣的統(tǒng)計(jì)需求,,使用以下函數(shù),效率會(huì)更高,。

np.bincount(x, weights=None, minlength=0)

摘錄官網(wǎng)的解釋:關(guān)于 numpy.bincount() 官方文檔的解釋 

更通俗地講:

首先

輸入數(shù)組x需要是非負(fù)整數(shù),,且是一維數(shù)組。

The input array needs to be of integer dtype, otherwise a TypeError is raised.

ValueError

If the input is not 1-dimensional, or contains elements with negative values, or if minlength is negative.

TypeError

If the type of the input is float or complex.

 

 其次

解釋一下權(quán)重weights,,以及最小bin的數(shù)量minlength,。

若不指定權(quán)重,則默認(rèn)x每個(gè)位置上的權(quán)重相等且為1,。若給定不同位置的權(quán)重,,則返回加權(quán)和。

若不規(guī)定最小bin的個(gè)數(shù),,則默認(rèn)的個(gè)數(shù)為(x的最大值+1),。比如最大值是2,,則bin的個(gè)數(shù)為3,即[0 1 2],。

若規(guī)定bin的個(gè)數(shù)(需大于默認(rèn)值否則無效),,則bin的個(gè)數(shù)等于設(shè)定值。比如np.bincount(np.array([3,1,9]), minlength=8),,若不指定minlength,,輸出的個(gè)數(shù)應(yīng)該為9+1=10個(gè)。但此時(shí)指定的minlength小于10,,小于默認(rèn)狀態(tài)下的數(shù)量,,參數(shù)不再作用。返回的長(zhǎng)度仍為10,。如果np.bincount(np.array([3,1,9]), minlength=20),,指定的minlength大于10,那么返回的長(zhǎng)度就是20,。

np.bincount()總結(jié)

返回值中的每個(gè)bin,,給出了它的索引值在x中出現(xiàn)的次數(shù)(在默認(rèn)權(quán)重下)。

返回值中的每個(gè)bin,,給出了它的索引值,,由于在x中出現(xiàn)在不同位置所導(dǎo)致權(quán)重不同,而計(jì)算的加權(quán)和,。

其中,,索引的長(zhǎng)度可由minlength規(guī)定。

np.bincount()舉例

  1. >>> np.bincount(np.arange(5))
  2. array([1, 1, 1, 1, 1])
  3. >>> np.bincount(np.array([0, 1, 1, 3, 2, 1, 7]))
  4. array([1, 3, 1, 1, 0, 0, 0, 1])
  5. >>> x = np.array([0, 1, 1, 3, 2, 1, 7, 23])
  6. >>> np.bincount(x).size == np.amax(x)+1
  7. True
 

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

    0條評(píng)論

    發(fā)表

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

    類似文章 更多