例如,我有一个数组X = np.array([1,-3,5,0,9,12])
我想做一个像这样的函数。
def bigfunction(X)
if X<0:
return 99
if X=>0 and X<=10
return 100
if X>10
return 101
还返回一个数组。在这种情况下,[100,99,100,100,100,101]
显然,此代码将不起作用。
非常重要,我无法循环执行。我想知道是否已经在numpy中实现了代码才能解决此问题。
答案 0 :(得分:1)
您可以尝试np.select
:
conds = [X < 0, X <= 10]
choices = [99, 100]
np.select(conds, choices, default=101)
这将返回:
array([100, 99, 100, 100, 100, 101])
答案 1 :(得分:1)
include('includes/functions/parent_functions.php');
Y = np.zeros(X.shape, dtype=int)
Y[X<0] = 99
Y[(X>= 0) & (X<10)] = 100
Y[X>10] = 101
将是您返回的数组。