python numpy下where方法的讲解

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)


猜你喜欢

转载自blog.csdn.net/qq_24726509/article/details/83113827