【相关推荐: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,则取第一行的第一个值,a73f8c74e23676bd2edad553c0d62eb1e=0并且data<=2, 满足就返回np.ones_like(data)对应坐标的值,不满足就返回np.zeros_like(data)对应坐标的值。当然x , y可以换成其他的值,只要与条件相同尺寸就可以。
【相关推荐:Python3视频教程 】
以上是Python详细解析之np.where()的代码应用的详细内容。更多信息请关注PHP中文网其他相关文章!