为什么不应该返回该命令? 'numpy.ufunc'对象不可下标

问题描述 投票:0回答:1

我目前正在尝试编写代码来定义一个方程式,其中在两种情况下设置了一个输入,但出现错误:

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)

我遇到这些错误:

/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
python numpy logical-operators finance
1个回答
0
投票

İt是括号问题。

当您看到“ TypeError:'numpy.ufunc'对象不可下标“错误时>

像这样:如果np.logical_and [Model> 0,Model

           if np.logical_and(Model>0,Model<x):

尝试()代替[]

© www.soinside.com 2019 - 2024. All rights reserved.