本文共 824 字,大约阅读时间需要 2 分钟。
python filter 如何应用在numpy array中,比如我有一个二维numpy数组,想将数组中小于0的置零大于零的保留原值,但是不想用for循环。
import numpy as npa=np.random.randint(-5,5,(4,4))print(a)#第一种方式a=np.maximum(a,0)print(a)a=np.random.randint(-5,5,(4,4))print(a)#第二种方式a=(a+np.abs(a))/2print(a)a=np.random.randint(-5,5,(4,4))print(a)#第三种方式a[a<0]=0print(a)a=np.random.randint(-5,5,(4,4))print(a)#第四种方式a=np.where(a>0,a,0)print(a)
输出:
第一种方式[[-3 -2 3 -1] [ 2 3 0 1] [-1 -1 0 4] [ 2 -4 0 -4]][[0 0 3 0] [2 3 0 1] [0 0 0 4] [2 0 0 0]] #第二种方式[[-1 -4 -3 -4] [ 1 0 -4 -1] [ 3 2 -3 2] [-2 1 -5 -2]][[ 0. 0. 0. 0.] [ 1. 0. 0. 0.] [ 3. 2. 0. 2.] [ 0. 1. 0. 0.]]第三种方式[[-1 3 1 2] [ 4 0 2 -4] [-2 -2 0 3] [-5 -3 3 -1]][[0 3 1 2] [4 0 2 0] [0 0 0 3] [0 0 3 0]]#第四种方式[[-4 -2 -2 1] [-4 -4 -3 -5] [ 3 3 2 1] [-4 3 3 1]][[0 0 0 1] [0 0 0 0] [3 3 2 1] [0 3 3 1]]
转载地址:http://hrgli.baihongyu.com/