python – numpy.where返回一个元组的目的是什么?
发布时间:2020-12-20 11:05:18 所属栏目:Python 来源:网络整理
导读:当我运行此代码时: import numpy as npa = np.array([1,2,3,4,5,6])print(np.where(a 2)) 获得一个指数数组是很自然的,其中一个 2,即[2,5],但我们得到: (array([2,dtype=int64),) 即一个空的第二个成员的元组. 然后,为了获得numpy.where的“自然”答案,我
当我运行此代码时:
import numpy as np a = np.array([1,2,3,4,5,6]) print(np.where(a > 2)) 获得一个指数数组是很自然的,其中一个> 2,即[2,5],但我们得到: (array([2,dtype=int64),) 即一个空的第二个成员的元组. 然后,为了获得numpy.where的“自然”答案,我们必须这样做: np.where(a > 2)[0] 这个元组有什么意义?它在哪种情况下有用? 注意:我在这里只是谈论用例numpy.where(cond)而不是numpy.where(cond,x,y)也存在(参见文档). 解决方法
numpy.where返回一个元组,因为元组的每个元素都引用一个维度.
在2个维度中考虑此示例: a = np.array([[1,6],[-2,1,5]]) print(np.where(a > 2)) (array([0,1],array([2,dtype=int64)) 如您所见,元组的第一个元素是指相关元素的第一维;第二个元素指的是第二个维度. 这是一个经常使用的常规numpy.当你要求数组的形状时,你也会看到它,即一维数组的形状将返回一个带有1个元素的元组: a = np.array([[1,5]]) print(a.shape,a.ndim) # (2,6) 2 b = np.array([1,6]) print(b.shape,b.ndim) # (6,) 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |