我的这个功能有问题
def morethan120(list1):
n = 0
y = pd.to_datetime("0:00:00")
for i in list1:
if y < pd.to_datetime("2:00:00"):
z = y
y = y + i
n = n + 1
else:
n = n - 1
print(n)
print(z)
return
for m in late120_list:
lateid = time_table[time_table["AC-No."] == m]
lateid = lateid[lateid["Late"].notnull()]
print(m)
morethan120(lateid["Late"])
我不明白为什么m
会迭代到最后。它只是停止而不是print(n)
或print(z)
,就像它对列表的其余部分所做的那样。
这是结果
5 # m value
4 # n value
2016-11-30 01:49:00 # z value
6 # m value
8 # n value
2016-11-30 01:50:00 # z value
7
0
2016-11-30 00:00:00
10 # m value and it stop at here
此代码的基础是在到达2:00:00之前获取时间戳并获取该时间戳的索引
这是lateid dataframe
AC-No. Late
97 5 00:10:00
98 5 00:16:00
99 5 00:04:00
100 6 00:08:00
101 6 00:10:00
102 6 00:13:00
105 7 00:35:00
106 7 00:22:00
107 10 00:38:00
这是late20_list
[5, 6, 7, 10]