我正在数据帧中处理一些数据,我发现自己编写的代码中包含了很多:
def entry_signal(y):
conditions1 = [np.logical_and(y > 0, y.shift(1) < 0),np.logical_and(y < 0, y.shift(1) > 0)]
values1 = ['LongEntry','ShortEntry']
return np.select(conditions1, values1, '')
基本上,如果该值大于0且前一个值小于0,则应为真。你知道吗
我试图创建一个函数来执行此操作,但不断出现错误:
def cross_above(x,y):
if np.logical_and(x>y, x.shift(1)<y):
return True
else:
return False
然后我试着在这里使用它:
def entry_signal(y):
conditions1 = [cross_above((y,0), y.shift(1) < 0),np.logical_and(y < 0, y.shift(1) > 0)]
values1 = ['LongEntry','ShortEntry']
return np.select(conditions1, values1, '')
但我不断得到一个真理,一个数列的值是模糊的。我做错什么了?你知道吗
这能行吗?你知道吗
相关问题 更多 >
编程相关推荐