我有以下数据帧:
print(X)
Quantity Class
1 0
5 0
6 1
8 2
9 3
0 4
...
print(dframe)
Pred_class Delta
0 -0.046348
1 1.856508
2 20.347518
3 -7.138728
4 6.642686
我想为每个类别的X-“Final_Q”-X[“Quantity”]和相应的“Delta”之和创建一个附加列:
打印(X)
Quantity Class Final_Q
1 0 1 - (-0.046348)
5 0 5 - (-0.046348)
6 1 6 - (+1.856508)
...
我试过:
for i in np.unique(X["Class"]):
#Isolate
X["Class"] == i
dframe["Pred_class"] == i
X_test_virtuale["BOOST"] = X_test_virtuale["ALG_N_forecast"] - dframe.iloc[0,0]
但它似乎不能正常工作
您可以在重命名
Pred_class
后使用pandas merge\u asof,如下所示dframe = dframe.rename(columns={'Pred_class':'Class'}) s = pd.merge_asof(X, dframe, on='Class') s['FinalQ'] = s['Quantity'] - s['Class']
Index Quantity Class Delta FinalQ 0 1 0 -0.04 1 1 5 0 -0.04 5 2 6 1 1.90 5 3 8 2 20.30 6 4 9 3 -7.00 6 5 0 4 6.60 -4
如果我理解正确,首先要合并:
然后,您只需按常规添加:
这将为您带来:
相关问题 更多 >
编程相关推荐