赞
踩
根据条件返回x或者y中的元素,满足条件输出x中的值,不满足输出y中的值;如果只有条件,则输出满足条件对应的索引。
>>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>> a array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>> b = np.array([[3, 1, 4], [3, 5, 6], [8, 2, 1]]) >>> b array([[3, 1, 4], [3, 5, 6], [8, 2, 1]]) >>> c = np.array([[2, 4, 7], [3, 2, 2], [1, 4, 2]]) >>> c array([[2, 4, 7], [3, 2, 2], [1, 4, 2]]) >>> d = np.where(a<5, b, c) >>> d array([[3, 1, 4], [3, 2, 2], [1, 4, 2]]) >>> e = np.where(a>2) # 返回两个array,第一个array是从行上对符合条件的值进行描述的, # 第二个array是从列上对符合条件的值进行描述的 # 比如数组上a的第一个符合条件的元素3,元素3在行上的索引为0,在列上的索引为2, # 分别对应于两个array中的第一个位置的值,共有7个符合条件的值,所以两个array的大小为7 >>> e (array([0, 1, 1, 1, 2, 2, 2], dtype=int64), array([2, 0, 1, 2, 0, 1, 2], dtype=int64))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。