У меня есть этот фрейм данных, df:
id order_exist ws_id ws_status_code order_id sql_status
19 False 9 50 19-9 None
19 False 10 50 19-10 None
19 False 11 50 19-11 None
19 False 12 29 19-12 None
19 False 13 0 19-13 None
19 True 14 20 19-14 None
19 False 15 0 19-15 None
19 True 16 35 19-16 None
19 True 17 20 19-17 None
У меня есть список кортежей, кортеж:
[('19-16', 'доставлено'), ('19 -17 ',' wait_shipment '), ('19 -14', 'test'), ('19 -14 ',' test '), ('27 -1587739801134x592916474231783400', 'wait_shipment')]
И у меня есть эта функция:
def ckeck_order_status(order_id,tuple):
for o in tuple:
if o[0] == order_id:
return o[1]
else:
return None
Я запускаю:
df['sql_status'] = df.apply(lambda x: ckeck_order_status(x['order_id'],tuple),axis=1)
Почему я получаю только order_id "19-16", установленный для доставки и другие не установлены в их соответствующий статус?