我有一些来自谷歌的考勤报告表格。数据如下所示
df1= pd.read_csv("12-9-2020.csv")
df1
Name StudentID
Robert C 102
Jessica Myla 103
Nana D 105
df2= pd.read_csv("12-10-2020.csv")
df2
Name StudentID
J Myla 103
Harris Kurt 104
Nana Duncan 105
我有很多表格,我想做一份出勤报告。基本的考勤报告如下所示:
df_Basic
Name StudentID 12/9/2020 12/10/2020
Robert Case 102 0 0
Jessica Myla 103 0 0
Harris Kurt 104 0 0
Nana Duncan 105 0 0
我想将数据表df1, df2
输入到编制考勤报告中。如果学生上课,则必须为1,学生姓名的拼写将与出勤报告格式相匹配
预期结果如下所示:
df_Result
Name StudentID 12/9/2020 12/10/2020
Robert Case 102 1 0
Jessica Myla 103 1 1
Harris Kurt 104 0 1
Nana Duncan 105 1 1
谢谢你帮助我
你可以用它来做
没有数据帧。希望是好的
以下是两个数据帧的解决方案:
对于更多数据帧,根据需要重复第3-7行
以下是完整的解决方案:
df
-从桌面上的特定文件夹将所有文件动态读入一个数据帧(并使用assign
创建Date
列,并从文件名派生日期)。您必须在files
变量中指定此项df_attendance
-使用.groupby
,通过StudentID
返回1
或0
,并将Date
放在列上df_names
-通过选择每个ID
的最长名称作为Name
来规范化Name
数据df_attendance
-join
两个数据帧df_attendance
和df_names
如果要更改“日期”列中日期的格式,则可以运行以下非常类似的代码:
根据你的评论,你可以这样做请注意,对于直接匹配,最好使用StudentID而不是Name,因此如果使用该,请将“StudentID”替换为“Name”:
相关问题 更多 >
编程相关推荐