日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
多個(gè)條件使用Numpywhere函數(shù)

Numpy的where函數(shù)是一個(gè)非常有用的函數(shù),它可以幫助我們?cè)跀?shù)組中根據(jù)指定的條件替換元素,這個(gè)函數(shù)的基本語(yǔ)法如下:

成都創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、小程序設(shè)計(jì)、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷領(lǐng)域創(chuàng)造價(jià)值而不懈努力!

numpy.where(condition[, x, y])

condition是一個(gè)布爾數(shù)組,表示我們想要替換元素的條件;x和y是我們想要替換成的值,它們可以是標(biāo)量、數(shù)組或者其它數(shù)據(jù)類型。

下面我們來看一些具體的使用例子。

1、使用單個(gè)條件替換元素

假設(shè)我們有一個(gè)數(shù)組a,我們想要將數(shù)組中所有大于0的元素替換為1,所有小于0的元素替換為1,可以使用以下代碼:

import numpy as np
a = np.array([2, 1, 0, 1, 2])
result = np.where(a > 0, 1, a)
print(result)

輸出結(jié)果為:[2 1 0 1 1]

可以看到,數(shù)組中所有大于0的元素都被替換為了1,而所有小于0的元素則被替換為了1。

2、使用多個(gè)條件替換元素

我們需要根據(jù)多個(gè)條件來替換元素,我們有一個(gè)數(shù)組b,我們想要將數(shù)組中所有大于0且小于5的元素替換為3,所有大于5的元素替換為5,可以使用以下代碼:

import numpy as np
b = np.array([2, 1, 0, 1, 2, 6])
result = np.where((b > 0) & (b < 5), 3, np.where(b > 5, 5, b))
print(result)

輸出結(jié)果為:[2 1 3 3 3 5]

可以看到,數(shù)組中所有大于0且小于5的元素都被替換為了3,而所有大于5的元素則被替換為了5。

3、根據(jù)條件選擇多個(gè)值進(jìn)行替換

我們需要根據(jù)條件選擇不同的值進(jìn)行替換,我們有一個(gè)數(shù)組c,我們想要將數(shù)組中所有大于0的元素替換為1或2,可以根據(jù)元素的位置來決定替換成哪個(gè)值,可以使用以下代碼:

import numpy as np
c = np.array([2, 1, 0, 1, 2])
result = np.where(c > 0, np.random.choice([1, 2], size=len(c)), c)
print(result)

輸出結(jié)果為:[2 1 2 1 2](由于是隨機(jī)選擇的,所以每次運(yùn)行結(jié)果可能不同)

可以看到,數(shù)組中所有大于0的元素都被替換為了1或2,而所有小于等于0的元素則保持不變。

4、根據(jù)條件選擇多個(gè)值進(jìn)行替換(多維數(shù)組)

對(duì)于多維數(shù)組,我們可以使用相同的方法進(jìn)行替換,我們有一個(gè)二維數(shù)組d,我們想要將數(shù)組中所有大于0的元素替換為1或2,可以根據(jù)元素的位置來決定替換成哪個(gè)值,可以使用以下代碼:

import numpy as np
d = np.array([[2, 1], [0, 1], [2, 3]])
result = np.where(d > 0, np.random.choice([1, 2], size=d.shape), d)
print(result)

輸出結(jié)果為:[[2 1 2 1] [2 1 1 3] [2 1 2 3]](由于是隨機(jī)選擇的,所以每次運(yùn)行結(jié)果可能不同)

可以看到,數(shù)組中所有大于0的元素都被替換為了1或2,而所有小于等于0的元素則保持不變,我們可以看到where函數(shù)可以自動(dòng)處理多維數(shù)組的廣播。

Numpy的where函數(shù)是一個(gè)非常強(qiáng)大的函數(shù),它可以幫助我們根據(jù)指定的條件替換數(shù)組中的元素,通過組合不同的條件和值,我們可以實(shí)現(xiàn)非常靈活的替換操作,需要注意的是,where函數(shù)返回的是一個(gè)視圖對(duì)象,而不是一個(gè)新的數(shù)組,這意味著對(duì)返回的結(jié)果進(jìn)行修改會(huì)影響到原始數(shù)組,如果需要?jiǎng)?chuàng)建一個(gè)新的數(shù)組,可以使用copy()方法。


網(wǎng)站標(biāo)題:多個(gè)條件使用Numpywhere函數(shù)
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/cogcdhc.html