import numpy as np x=np.random.randn(4,4) print(x) #x>0显示为2,否则显示为-2 print(np.where(x>0,2,-2)) for index in x: print(type(index))#<class 'numpy.ndarray'> for line in zip(x): print(type(line))#<class 'tuple'> #类似于上面的where方法 xarr=np.array([1.1,1.2,1.3,1.4,1.5]) yarr=np.array([2.1,2.2,2.3,2.4,2.5]) zarr=np.array([True,False,True,True,False]) result=[(x if c else y) for x,y,c in zip(xarr,yarr,zarr)] print(result)#<class 'list'> #生成的格式不一致 result=np.where(zarr,xarr,yarr) print(result)#<class 'numpy.ndarray'> print(list(result)) #处理两个数组 cond2 = np.array([True,False,True,False]) cond1 = np.array([True,True,False,False]) ##方法1: result = np.where(cond1 & cond2,0,np.where(cond1,1,np.where(cond2,2,3))) print('result_1:',result)
python numpy下where方法的讲解
最新推荐文章于 2024-04-20 20:24:33 发布