【相關推薦:Python3影片教學 】
np.where(condition, x, y),即condition為條件,當滿足條件輸出為x,不滿足條件則輸出y.直接上程式碼:
a = np.arange(10) //array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) print(np.where(a > 5, 1, -1)) //array([-1, -1, -1, -1, -1, -1, 1, 1, 1, 1])上面的挺好理解的,但是官網的例子不是太好理解,如下所示:
np.where([[True,False], [True,True]], [[1,2], [3,4]], [[9,8], [7,6]]) // 输出 array([[1, 8], [3, 4]])可以這麼理解,第一行的bool值表示條件,它表示是否取值的意思,首先看[ True,False],即第一的True值表示第一行取數值第一行的[1, 2]中的1,而不取下面的9,False表示不取第一行[1, 2]中的2,而取第二行[9, 8]中的8.下面同理得[3, 4].
為了方便理解再舉一個例子:
a = 10 >>> np.where([[a > 5,a < 5], [a == 10,a == 7]], [["chosen","not chosen"], ["chosen","not chosen"]], [["not chosen","chosen"], ["not chosen","chosen"]]) //array([['chosen', 'chosen'], ['chosen', 'chosen']], dtype='<U10')第一行a> 5True,則取第一行的第一個值,a7ae8e01bb5664444c11fd38979ee52a6=0且data<=2, 滿足就回傳np.ones_like(data)
對應座標的值,不滿足就傳回np.zeros_like(data)對應座標的值。當然x , y可以換成其他的值,只要與條件相同尺寸就可以。
【相關推薦:Python3影片教學 】
以上是Python詳細解析之np.where()的程式碼應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!