Python 如何标记学生的出席/缺席情况

Python 如何标记学生的出席/缺席情况,python,python-3.x,pandas,python-2.7,dataframe,Python,Python 3.x,Pandas,Python 2.7,Dataframe,我正试图根据用户上次登录的时间戳来标记用户是否在场。如果用户在2020年9月3日午夜和9:05之前登录,则会将其标记为存在,否则将缺席 学生时间戳示例 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 presen

我正试图根据用户上次登录的时间戳来标记用户是否在场。如果用户在2020年9月3日午夜和9:05之前登录,则会将其标记为存在,否则将缺席

学生时间戳示例

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



这是我的密码


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'


df3['Present/缺席]='Present'
正在为整个列分配'Present'。同样的情况也适用于“缺席”情况。试试这个:

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'
df3['Time']=df3['Time'].astype(str)
df3[“出席/缺席”]=“
对于idx,df3.iterrows()中的行:
时间=行['time']
如果时间>%Y-%m-%d 00:00:00-05:00':
df3.loc[idx,“出席/缺席”]=“缺席”
elif时间<%Y-%m-%d 09:05:00-05:00':
df3.loc[idx,“出席/缺席”]=“出席”

我假设条件按预期工作,df3类似于学生时间戳示例。

df3['Present/缺席]='Present'
将'Present'分配给整个列。同样的情况也适用于“缺席”情况。试试这个:

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'
df3['Time']=df3['Time'].astype(str)
df3[“出席/缺席”]=“
对于idx,df3.iterrows()中的行:
时间=行['time']
如果时间>%Y-%m-%d 00:00:00-05:00':
df3.loc[idx,“出席/缺席”]=“缺席”
elif时间<%Y-%m-%d 09:05:00-05:00':
df3.loc[idx,“出席/缺席”]=“出席”

我假设条件按预期工作,df3类似于学生时间戳示例。

什么是
df3
存储?学生登录的时间或学生是否在场?你能把
df3
打印出来吗?试着用一下,它会使事情更简单。什么是
df3
存储?学生登录的时间或学生是否在场?你能把
df3
打印出来吗?试试使用,它会使事情更简单。