我使用了一个函数来计算2个值之间的差异。从打印下面函数的输出开始,答案的范围是-5到4.但是我只希望函数只显示正答案(即:1到4)。 是否可以忽略负值而不改变x的边界,也不改变α的值
import numpy as np
L = 10
a = 5
def position(x,a):
return x-a
x = np.arange(0.0, L, 1)
print (position(x,a))
[-5. -4. -3. -2. -1. 0. 1. 2. 3. 4.]
答案 0 :(得分:2)
import numpy as np
L = 10
a = 5
def position(x,a):
return x-a
x = np.arange(0.0, L, 1)
tmp = position(x,a)
print (tmp[tmp>=0])
答案 1 :(得分:1)
这可能会有所帮助,一个过滤numpy数组的例子
import numpy
arr = numpy.array([-1.1, 0.0, 1.1])
print(arr)
bools = arr >= 0.0 # define selection
print(bools)
# filter by "bools"
print(arr[bools])
答案 2 :(得分:-1)
基于我可以从您的问题中得到的结果,这应该有效:
result = list(filter(lambda x:x>=0, position(x,a))