如何使用np where函数修复“ValueError:只能比较具有相同标签的系列对象”

2024-05-19 17:38:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要为其设置约束的变量是“x”

其中x=1,而x*3*StdDev<;=MADD-DD

否则x=(MADD-DD)/(3*STDEV)

此外,x必须始终为正

这是我到目前为止的代码,我得到:ValueError: Can only compare identically-labeled Series objects

MADD = 0.3 #Maximum Acceptable Drawdown

HWM_LnSh = np.maximum.accumulate(data.LnSh_Ex_return) #Compute High 
Water Marker - the running maximum
DD_LnSh = (HWM - data.LnSh_Ex_return)/HWM_LnSh #Drawdown
MDD_LnSh = np.maximum.accumulate(DD_LnSh) #Maximum Drawdown

data['X_lnSh'] = np.where(3*data.annual_vol_LnSh>MADD - DD_LnSh,1,np.min(0, 
 (MADD - DD_LnSh)/(3*data.annual_vol_LnSh)))

我的代码到目前为止,我不知道如何解决这个问题,让我知道如果需要更多的信息,任何帮助都非常感谢


Tags: 代码datareturnnpddexaccumulatemaximum