这里有两个数据框A和BI要在添加订单时从数据框B中选择行,获得的总值与数据框A中已取消的列匹配。然后在数据框A中创建一列包含从中选择的ID的ID数据框B。数据框A中的ID总计应等于已取消列中的值。
code canceled id
xxx [11.0] [128282, 128281, 128284]
DataFrame A
code canceled
xxx [11.0]
xxS [0.0]
ssD [1.0]
cvS [0.0]
eeS [5.0]
544W [44.0]
cvd [20.0]
DataFrame B
id code order
108664 xxS 4
107650 544W 20
115236 eeS 1
128281 xxx 8
128282 xxX 1
127763 544W 4
128014 544W 20
108586 eeS 1
113472 eeS 1
114106 eeS 3
114106 eeS 3
11111 cvd 55
128283 xxx 5
110515 xxS 1
113556 xxS 1
132434 544W 58
128284 xxX 1
这是我之前尝试过的方法,但是无法正常工作
def id_selector(x):
canc = int(Df_A.canceled[0])
if canc >= len(x.id):
return x.id
return x.id
//create new column id on dataFrame B
Df_A['id'] = DF_B.apply(
id_selector, axis = 1
)