我想实施
sympy.Piecewise
在 numpy 数组上。
考虑:
x = np.array([0.1,1,2])
y = np.array([10,10,10])
Piecewise((x * y, x > 0.9),(0, True))
但是,我得到了这个:
TypeError: Argument must be a Basic object, not ndarray
有办法解决这个问题吗?
我尝试过列表理解。然而,当涉及的变量更多时,事情就会变得更加困难。
simpy.Piecewise
与numpy数组不直接兼容。使用 np.where
可以实现类似的功能:
import numpy as np
x = np.array([0.1,1,2])
y = np.array([10,10,10])
result = np.where(x > 0.9, x * y, 0)