Python 为什么它不应该返回这个命令';t';numpy.ufunc';对象不可下标
我目前正试图编写一个代码来定义一个等式,其中一个输入设置在两个条件下,但我得到一个错误:Python 为什么它不应该返回这个命令';t';numpy.ufunc';对象不可下标,python,numpy,logical-operators,finance,Python,Numpy,Logical Operators,Finance,我目前正试图编写一个代码来定义一个等式,其中一个输入设置在两个条件下,但我得到一个错误: def findV (v_a,x,k,sig_a): taxcorp=0.2 taxdiv=0.2 Modelequity=(e_function(v_a=v_a,sig_a=sig_a, r=rf, k=k,C=Intexp,taxcorp=0.2,taxdiv=0.2)+20, taxcorp, taxdiv) #np.logical_and(Model>0,Mod
def findV (v_a,x,k,sig_a):
taxcorp=0.2
taxdiv=0.2
Modelequity=(e_function(v_a=v_a,sig_a=sig_a, r=rf, k=k,C=Intexp,taxcorp=0.2,taxdiv=0.2)+20, taxcorp, taxdiv)
#np.logical_and(Model>0,Model<x):
#all([Model>0 , Model<x]):
Model=np.float32(Modelequity[0])
#Model=np.logical_and[Model>0,Model<x]
if np.logical_and[Model>0,Model<x]:
#return((Equity-np.float32(Modelequity))*np.float32(Modelequity))
return((Equity-Model)*Model)
findV(v_a=0.01,x=0.02,k=0.02,sig_a=0.02)
及
这是你使用的括号的问题。查看错误中它是如何引用订阅的,订阅使用的是
[]
而不是()
打字错误:你需要在
np.logical\u和(Model>0,Model)中插入括号。它实际上不起作用。它应该可以修复这个错误。如果它没有达到你想要的效果,那就是一个逻辑错误。我现在这样说,它告诉我``如果np.logical\u和((Model>0),(Model)你期待什么?np.logical\u和()
返回与模型
形状相同的数组。
/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:9: RuntimeWarning: invalid value encountered in greater
if __name__ == '__main__':
/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:9: RuntimeWarning: invalid value encountered in less
if __name__ == '__main__':
TypeError: 'numpy.ufunc' object is not subscriptable
TypeError: 'numpy.ufunc' object is not subscriptable:
if np.logical_and[Model>0,Model<x]: