[英]How to mark a student present/absent python
I am trying to mark users present/absent based on their last login timestamp.我正在尝试根据上次登录时间戳标记用户存在/不存在。 If the users logged in on 9/3/2020 at midnight and before 9:05am they are marked present otherwise they are absent.
如果用户在 2020 年 9 月 3 日午夜和上午 9 点 05 分之前登录,他们将被标记为出席,否则他们将缺席。
Student Timestamp example学生时间戳示例
Time Present/Absent
2020-09-03T08:55:14-05:00 present
2020-09-03T04:44:46-05:00 present
2020-09-03T09:01:05-05:00 present
2020-09-03T07:12:22-05:00 present
2020-09-03T08:48:53-05:00 present
2020-09-02T16:53:20-05:00 absent
2020-09-02T20:02:28-05:00 absent
2020-09-03T09:01:15-05:00 present
2020-09-03T08:55:03-05:00 present
2020-09-03T09:03:03-05:00 present
2020-09-02T09:13:32-05:00 absent
2020-09-02T23:24:54-05:00 absent
2020-09-02T23:24:58-05:00 absent
2020-09-03T09:03:03-05:00 present
2020-09-02T23:25:01-05:00 absent
This is my code这是我的代码
df3['Time'] = df3['Time'].astype(str)
for time in df3['Time']:
if time > '%Y-%m-%d 00:00:00-05:00':
df3['Present/Absent'] = 'absent'
elif time < '%Y-%m-%d 09:05:00-05:00':
df3['Present/Absent'] = 'present'
but I get this但我明白了
Time Present/Absent
2020-09-03T08:55:14-05:00 present
2020-09-03T04:44:46-05:00 present
2020-09-03T09:01:05-05:00 present
2020-09-03T07:12:22-05:00 present
2020-09-03T08:48:53-05:00 present
2020-09-02T16:53:20-05:00 present
2020-09-02T20:02:28-05:00 present
2020-09-03T09:01:15-05:00 present
2020-09-03T08:55:03-05:00 present
2020-09-03T09:03:03-05:00 present
2020-09-02T09:13:32-05:00 present
2020-09-02T23:24:54-05:00 present
2020-09-02T23:24:58-05:00 present
2020-09-03T09:03:03-05:00 present
2020-09-02T23:25:01-05:00 present
df3['Present/Absent'] = 'present'
is assigning 'present' to the entire column. df3['Present/Absent'] = 'present'
将 'present' 分配给整个列。 Same applies for the 'absent' condition as well.这同样适用于“缺席”条件。 Try this:
尝试这个:
df3['Time'] = df3['Time'].astype(str)
df3['Present/Absent'] = ''
for idx, row in df3.iterrows():
time = row['Time']
if time > '%Y-%m-%d 00:00:00-05:00':
df3.loc[idx, 'Present/Absent'] = 'absent'
elif time < '%Y-%m-%d 09:05:00-05:00':
df3.loc[idx, 'Present/Absent'] = 'present'
I'm assuming the condition is working as expected and df3 is similar to Student Timestamp example.我假设条件按预期工作并且 df3 类似于 Student Timestamp 示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.