比較我有一個熊貓數據幀這樣的..for循環之前的值在Python
order_id buyer_id scheduled_order minutes flag
525 232 1 13 Null
862 232 1 14 Null
1361 232 1 15 Null
1373 232 1 13 Null
1580 232 1 14 Null
1729 232 0 11 Null
1817 232 1 18 Null
我想設置根據的scheduled_order
價值的標誌。 如果第一個訂單是預定訂單(scheduled_order =1
),那麼flag應該設置爲0
,否則它應該檢查分鐘是否大於12,那麼flag應該是1 else 2然後,如果下一個訂單如果先前的訂單是預定的訂單,那麼標誌應該設置爲3.如果先前的順序是活順序(scheduled_order =0
),並且如果分鐘小於12則標誌應該設置爲2分鐘,如果大於12則標誌應設置爲1。
我的期望的輸出是
order_id buyer_id scheduled_order minutes flag
525 232 1 13 0
862 232 1 14 3
1361 232 1 15 3
1373 232 1 13 3
1580 232 1 14 3
1729 232 0 11 3
1817 232 1 18 2
這裏是我的代碼python
for i in range(len(df)):
if(df.scheduled_order[i] == '1'):
speed.flag[i] = '0'
else:
if(minutes > 12):
df.flag[i] = '1'
else:
df.flag[i] = '2'
但是,當i
變成1時我該如何檢查以前的scheduled_order
值?
爲什麼在輸出的最後一行有flag = 2?你的意思是「......如果__previous__分鐘小於12,那麼標誌應該設置爲2」在你的算法中? – MaxU