比较我有一个熊猫数据帧这样的..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