在函数中,我创建了一个本地数据框,名称为resamp_df。我试图将此本地数据帧传递给线程函数作为在其上运行某种算法的参数。这是我的代码:
主要功能
IndexError Traceback (most recent call last)
<ipython-input-18-3ab7637867a2> in <module>
21
22 max_len = 500
---> 23 prim_,evo_,dih_,mask_ = limit_length_and_pad(prim_train,evo_train,dih_train,mask_train,max_len)
24 x_train,y_train = np.concatenate([prim_,evo_],axis=2),dih_
25 prim_v,evo_v,dih_v,mask_v = limit_length_and_pad(prim_valid,evo_valid,dih_valid,mask_valid,max_len)
<ipython-input-18-3ab7637867a2> in limit_length_and_pad(prim,evo,dih,mask,max_length)
14 len_mask = np.array([len(el) for el in prim]) <= max_length
15 prim_lim,evo_lim,dih_lim,mask_lim = (np.array(prim)[len_mask],np.array(evo)[len_mask],---> 16 np.array(dih)[len_mask],np.array(mask)[len_mask])
17 prim_pad,evo_pad,dih_pad,mask_pad = (pad_array(prim_lim,max_length),pad_array(evo_lim,18 pad_array(dih_lim,pad_array(mask_lim,max_length,value=False,dtype=np.bool))
IndexError: boolean index did not match indexed array along dimension 0; dimension is 70 but corresponding boolean dimension is 8000
线程功能
if readyForOrder:
order_thread = threading.Thread(target=order_management,name='thread1',args=resamp_df)
order_thread.start()
但是我的线程没有运行。它会产生以下错误:
def order_management(df):
global readyForOrder,order_id,order_id_counter,ltp
if df.shape[0] >= 3:
readyForOrder = False
old_ltp = df.iat[-2,0]
new_ltp = df.iat[-1,0]
有什么建议可以使其正常工作吗?
预先感谢