numpy函式中where函式的用法

2021-09-27 11:30:37 字數 1485 閱讀 4141

覺得有些格式不太好看 就自己寫了一下

numpy.where的格式:

numpy.where( condition , x , y )
*condition: 類陣列物件,布林邏輯(即true或false)。

x,y : 類陣列物件 ,optional(這個不太明白,不過不影響使用)*

第一種:numpy.where(condition,x,y).condition為真,輸出x;假,則輸出y.

第二種:numpy.where(condition,x,y).condition為真,返回conditon.nonzero().(返回condition(類陣列物件)非零元素的座標)

np.where([[

true

,false],

[true

,true]]

,[[1

,2],

[3,4

]],[

[9,8

],[7

,6]]

)

結果:

array([[

1,8]

,[3,

4]])

這是官方的例子,剛開始不明白意思,但這樣看就一目了然:

np.where([[

true

,false],

[true

,true]]

,[[1

,2],

[3,4

]],[

[9,8

],[7

,6]]

)

結果:

array([[

1,8]

,[3,

4]])

第一列分別對應conditon,x,y,以此類推第二列第三列均如此。

第一列,conditon為true,為邏輯真值,則輸出x=1

第二列,false,輸出y =8

第二種:

dataset=array

([[1,0,

0,0]

,[0,

1,0,

0],[

0,1,

0,0]

,[0,

0,0,

1]])

np.where(dataset)

結果:

(array([0

,1,2

,3], dtype=int64)

, array([0

,1,1

,3], dtype=int64)

)

輸出了非零元素的所在行,所在列位置。

numpy中where函式的使用

官方解釋是有些難以理解,我將個人理解分享如下 numpy.where的格式 numpy.where condition,x,y condition 類陣列物件,布林邏輯 即true或false x,y 類陣列物件,optional 這個不太明白,不過不影響使用 numpy.where分兩種方式使用。...

Python中numpy的where 函式

第一種用法 np.where conditions,x,y if condituons成立 陣列變x else 陣列變y import numpy as np x np.random.randn 4,4 print np.where x 0,2,2 試試效果 xarr np.array 1.1,1....

Numpy中的函式

生成用函式 效果np.array x 將輸入資料轉化為乙個ndarray np.array x,dtype 將輸入資料轉化為乙個型別為type的ndarray np.asarray array 將輸入資料轉化為乙個新的 copy ndarray np.ones n 生成乙個n長度的一維全一ndarr...