我试图在下面将两个字段彼此分开:
c1_preds_data['adj_final_price'] = (c1_preds_data["final_price "]/c1_preds_data['adjustment'])
在Pandas DataFrame中,并收到以下错误消息:
TypeError: ufunc 'true_divide' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
我已经尝试过df.dropna(),以防我被N / A除以,并且我尝试检查分母中是否没有零,如下所示:
c1_preds_data.loc[c1_preds_data.adjustment == 0, 'adj_final_flag'] = -99
c1_preds_data.loc[c1_preds_data.adjustment != 0, 'adj_final_flag'] = 99
它们都以非零值(99)出现
并且不确定如何解释错误消息。
答案 0 :(得分:3)
您正在尝试对仅数字类型可接受的字符串执行操作。 (也许是从sql数据库中尝试保持价格数据上的点或点精度?)
如果要保持点/点精度,则应考虑将乘数作为一个整数存储在其他表中,并将其与汇率对关联。
首先,将系列重铸为浮动,然后执行操作。
c1_preds_data["final_price "] = c1_preds_data["final_price "].astype('float')
c1_preds_data['adjustment'] = c1_preds_data['adjustment'].astype('float')
好像您正在使用并行回测器。祝你好运!