欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:numpy小知識(shí)-v2

柚子快報(bào)邀請(qǐng)碼778899分享:numpy小知識(shí)-v2

http://yzkb.51969.com/

目錄預(yù)覽

1.【pytorch】——torch.unique2.python numpy判斷兩個(gè)數(shù)組相等3.Python numpy 統(tǒng)計(jì)數(shù)組某一元素的個(gè)數(shù)/ 統(tǒng)計(jì)數(shù)組滿(mǎn)足條件的元素個(gè)數(shù)3.1 np.sum() 進(jìn)行統(tǒng)計(jì)

4.如何統(tǒng)計(jì)二維或者多維空間/二維數(shù)組中重復(fù)元素的數(shù)量/計(jì)數(shù)?numpy一行代碼就行了4.1. 問(wèn)題說(shuō)明4.2. 解決之道4.3. 向原作者致敬

1.【pytorch】——torch.unique

官方文檔https://pytorch.org/docs/stable/generated/torch.unique.html

torch.unique(input, sorted=True, return_inverse=False, return_counts=False, dim=None)

默認(rèn)參數(shù)說(shuō)明 input: 待處理Tensor sorted: 是否對(duì)處理后的不包含重復(fù)元素的Tensor進(jìn)行升序排列(sorted=True表示進(jìn)行升序排列,sorted=False并非表示降序排列,這點(diǎn)容易混淆,可以看下面例1) return_inverse: 是否返回待處理Tensor中每個(gè)元素在處理后的無(wú)重復(fù)的Tensor中所對(duì)應(yīng)的索引(看例2) return_counts: 是否返回處理后的無(wú)重復(fù)元素的Tensor中每個(gè)元素在處理前Tensor中的統(tǒng)計(jì)數(shù)量(看例3) dim: 沿著哪個(gè)維度進(jìn)行unique的處理(待測(cè)試) 例1

# 下面三個(gè)例子說(shuō)明當(dāng)sorted=False時(shí)并非按照降序排列

x = torch.tensor([4,0,1,2,1,2,3,5,7])

out = torch.unique(x)

out = torch.unique(x, sorted=False)

--------------------------------------------------------------------------------

tensor([0, 1, 2, 3, 4, 5, 7])

tensor([7, 5, 3, 2, 1, 0, 4])

y = torch.tensor([3,2,4,5,6,7,3,1,3,5,7,8,9,54,1,1,1,0,1])

out = torch.unique(y)

out = torch.unique(y, sorted=False)

--------------------------------------------------------------------------------

tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 54])

tensor([ 0, 54, 9, 8, 1, 7, 6, 5, 4, 2, 3])

z = torch.tensor([1,3,5,7,9,0,8,6,4,2,34,5,6,7,8,9,1,3,6,7,8,9,53,2,3])

out = torch.unique(z)

out = torch.unique(z,sorted=False)

-------------------------------------------------------------------------------

tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 34, 53])

tensor([53, 2, 4, 6, 8, 0, 9, 7, 34, 5, 3, 1])

例2

x = torch.tensor([4,0,1,2,1,2,3,5,7])

out = torch.unique(x,return_inverse=True)

out = torch.unique(x,sorted=False,return_inverse=True)

--------------------------------------------------------------------------------

(tensor([0, 1, 2, 3, 4, 5, 7]), tensor([4, 0, 1, 2, 1, 2, 3, 5, 6]))

(tensor([7, 5, 3, 2, 1, 0, 4]), tensor([6, 5, 4, 3, 4, 3, 2, 1, 0]))

# 待處理Tensor:[4,0,1,2,1,2,3,5,7]

# 處理后Tensor:[0, 1, 2, 3, 4, 5, 7]

# 待處理Tensor在處理后Tensor中對(duì)應(yīng)的索引:[4, 0, 1, 2, 1, 2, 3, 5, 6]

例3

x = torch.tensor([4,0,1,2,1,2,3,5,7])

out = torch.unique(x,return_counts=True)

--------------------------------------------------------------------------------

(tensor([0, 1, 2, 3, 4, 5, 7]), tensor([1, 2, 2, 1, 1, 1, 1]))

# 處理后Tensor:[0, 1, 2, 3, 4, 5, 7]

# 處理后Tensor在處理前Tensor中的數(shù)量:[1, 2, 2, 1, 1, 1, 1]

2.python numpy判斷兩個(gè)數(shù)組相等

import numpy as np

# 創(chuàng)建兩個(gè)數(shù)組

array1 = np.array([1, 2, 3])

array2 = np.array([1, 2, 3])

array3 = np.array([4, 5, 6])

# 使用array_equal來(lái)比較

equal1 = np.array_equal(array1, array2) # 應(yīng)返回True

equal2 = np.array_equal(array1, array3) # 應(yīng)返回False

print(equal1) # 輸出: True

print(equal2) # 輸出: False

3.Python numpy 統(tǒng)計(jì)數(shù)組某一元素的個(gè)數(shù)/ 統(tǒng)計(jì)數(shù)組滿(mǎn)足條件的元素個(gè)數(shù)

我們?cè)跀?shù)據(jù)處理的時(shí)候,有時(shí)需要統(tǒng)計(jì)數(shù)組中某個(gè)元素的個(gè)數(shù),如果寫(xiě)個(gè)循環(huán)就太麻煩了,numpy中有相應(yīng)的函數(shù)進(jìn)行統(tǒng)計(jì)。

3.1 np.sum() 進(jìn)行統(tǒng)計(jì)

np.sum() 有個(gè)特性,當(dāng)數(shù)組為[True,False]時(shí)會(huì)累加True的個(gè)數(shù)

所以當(dāng)我們需要計(jì)算數(shù)組array中值value的個(gè)數(shù)時(shí),使用語(yǔ)句:np.sum(data == value) 即可

當(dāng)我們需要計(jì)算數(shù)組array中大于值value的個(gè)數(shù)時(shí),使用語(yǔ)句:np.sum(data > value) 即可

實(shí)例1 統(tǒng)計(jì)等于某元素的個(gè)數(shù):

import numpy as np

data=np.array([[1,2,3],[0,1,2],[3,4,5]])

print("查看數(shù)組中各位置是否為1 \n",data == 1)

n = np.sum(data == 1)

print("數(shù)組中1的個(gè)數(shù)",n)

輸出結(jié)果:

查看數(shù)組中各位置是否為1

[[ True False False]

[False True False]

[False False False]]

數(shù)組中1的個(gè)數(shù) 2

實(shí)例2 統(tǒng)計(jì)滿(mǎn)足條件的元素的個(gè)數(shù)

import numpy as np

data=np.array([[1,2,3],[0,1,2],[3,4,5]])

n = np.sum(data > 1)

print("數(shù)組中元素大于1的個(gè)數(shù)為",n)

結(jié)果

數(shù)組中元素大于1的個(gè)數(shù)為 6

4.如何統(tǒng)計(jì)二維或者多維空間/二維數(shù)組中重復(fù)元素的數(shù)量/計(jì)數(shù)?numpy一行代碼就行了

4.1. 問(wèn)題說(shuō)明

統(tǒng)計(jì)一維數(shù)組中重復(fù)元素的數(shù)量是個(gè)常見(jiàn)的問(wèn)題,那么拓展到二維或者更高維度,這個(gè)問(wèn)題依然是常見(jiàn)的。有什么方法能快速解決這個(gè)問(wèn)題呢?請(qǐng)接著往下看,代碼就在下邊。

4.2. 解決之道

numpy中的unique可以用來(lái)統(tǒng)計(jì)重復(fù)元素的個(gè)數(shù),但是看網(wǎng)上有些資料說(shuō)只適用于一維數(shù)組(如下圖)。 事實(shí)果真如此嗎?

我使用百度仔細(xì)檢索發(fā)現(xiàn)了一篇很有用的文章,發(fā)現(xiàn)上圖中說(shuō)的是錯(cuò)誤的,文章里邊提到了怎么統(tǒng)計(jì)二維空間中重復(fù)點(diǎn)的數(shù)量。下邊展示一下代碼:

import numpy as np

a = np.array(

[

[1, 0, 0],

[1, 0, 0],

[1, 0, 0],

[2, 3, 4]

]

)

unique, unique_counts = np.unique(

a.view(a.dtype.descr * a.shape[1]),

return_counts=True

)

運(yùn)行結(jié)果如下圖: 說(shuō)實(shí)話我看不懂view那一行是怎么個(gè)意思,但是我大受震撼。原來(lái)numpy可以如此強(qiáng)大!

哪位高人懂的可以在評(píng)論區(qū)指點(diǎn)一下。

4.3. 向原作者致敬

貼出原作圖片,。

柚子快報(bào)邀請(qǐng)碼778899分享:numpy小知識(shí)-v2

http://yzkb.51969.com/

精彩內(nèi)容

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18836973.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄