這篇“Python where函數怎麼使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python where函數怎麼使用”文章吧。
where函數是numpy庫中的,通常需要先加載numpy庫,再調用該函數。函數的基本調用語法有兩種,一種是:
import numpy as npnp.where(arry)
此時,np.where函數輸出arry中“真”值的坐標(‘真’也可以理解為非0)。或者說np.where函數從arry中返回滿足特定條件的元素。比如,它會返回滿足特定條件數值的索引位置。
另一種是:
import numpy as npnp.where(cond, x, y)
此時,np.where函數滿足cond條件輸出x,不滿足輸出y。為了讓大家對where函數定義有更清晰的理解,接下來以具體實例進行闡述,方便大家理解記憶。
y = np.array([1, 5, 6, 8, 1, 7, 3, 6, 9])print(np.where(y>5))
得到結果:
(array([2, 3, 5, 7, 8], dtype=int64),)
此時,np.where函數返回數值大於5的索引位置。
y = np.array(range(1, 10))print(y)print(np.where(y>5, 'm_5', 'lq_5'))
得到結果:
[1 2 3 4 5 6 7 8 9]
['lq_5' 'lq_5' 'lq_5' 'lq_5' 'lq_5' 'm_5' 'm_5' 'm_5' 'm_5']
y是一個初始值為1,終值為9,步長為1的等差數列。此時,np.where函數滿足y>5輸出’m_5’,不滿足輸出’lq_5’。
print(np.arange(10))print(np.where(np.arange(10)<5, '吃蘋果', '吃榴蓮'))
得到結果:
[0 1 2 3 4 5 6 7 8 9]
[‘吃蘋果’ ‘吃蘋果’ ‘吃蘋果’ ‘吃蘋果’ ‘吃蘋果’ ‘吃榴蓮’ ‘吃榴蓮’ ‘吃榴蓮’ ‘吃榴蓮’ ‘吃榴蓮’]
此時,np.where函數滿足np.arange(10)中數值小於5輸出’吃蘋果’,不滿足輸出’吃榴蓮’。
y = np.array(range(1, 10))print(y)print(np.where(np.mod(y, 2)==0, '2b', 'n_2b'))
得到結果:
[1 2 3 4 5 6 7 8 9]
['n_2b' '2b' 'n_2b' '2b' 'n_2b' '2b' 'n_2b' '2b' 'n_2b']
此時,np.where函數滿足y中數值除以2余數為0輸出’2b’,不滿足輸出’n_2b’。
x = np.array([[0, 1, 2], [3, 0, 0], [6, 0, 8]])print(x[np.where(x)])
得到結果:
[1 2 3 6 8]
此時,np.where函數取出x中所有非0數,生成一個新的數列。
以上就是關於“Python where函數怎麼使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速雲行業資訊頻道。