我有一个大的数据集,我咀嚼和清理,最终看起来像在图像中显示。下面给出了干净的数据集。你知道吗
RegistrationNo StudentName Date ClassAttend
16SCSE101002 Eric Brown 12-03-2019 1
16SCSE101002 Eric Brown 08-03-2019 1
16SCSE101002 Eric Brown 12-03-2019 1
16SCSE101002 Eric Brown 15-03-2019 1
16SCSE101002 Eric Brown 08-03-2019 1
16SCSE101002 Eric Brown 22-03-2019 0
16SCSE101002 Eric Brown 22-03-2019 0
16SCSE101002 Eric Brown 26-03-2019 1
16SCSE101005 Derek Oldman 15-02-2019 1
16SCSE101005 Derek Oldman 12-02-2019 0
16SCSE101005 Derek Oldman 15-02-2019 1
16SCSE101005 Derek Oldman 29-03-2019 1
16SCSE101005 Derek Oldman 12-02-2019 0
16SCSE101005 Derek Oldman 29-03-2019 1
16SCSE101005 Derek Oldman 02-04-2019 1
16SCSE101005 Derek Oldman 02-04-2019 1
16SCSE101005 Derek Oldman 12-03-2019 1
数据中提供了学生的信息,包括他们各自的注册号、姓名、上课日期和当天的上课人数。你知道吗
我想将“Date”列中的每个数据显示为一个单独的列。你知道吗
这样做的目的是显示每个学生在每个日期上的上课次数。学生通过他们唯一的注册号来识别。你知道吗
我想用如下标题查看我的数据帧:
RegistrationNo | StudentName | Date1 | Date2 | Date3. ....... | DateN
然后是在上述各栏下提供的各自数据。你知道吗
例如: 样本输入:
16SCSE101002
12/3/2019
16SCSE101005
15/3/2019
样本输出:
16SCSE101002
2
16SCSE101005
0
用户输入注册号,他们应该能够看到该学生每天上课的出勤情况。你知道吗
我怎么能继续做这样的事呢?你知道吗
我不清楚为什么要将数据帧转换为头中有date1、date2等。如果目的只是为了让注册学生在某一天的出勤率,我建议另外两种选择(可能有数百种方法)。你知道吗
选项1,要获取在给定日期为给定注册号参加的类的数量,请使用一个简单的过滤器和
sum
-函数或者如果你想要一个包含每天所有总数的完整列表,那么做一个
groupby
-sum
然后您可以使用前面提到的过滤器,而不需要求和。你知道吗
如果你有足够的理由按照你的建议去做,请让我知道(这样我至少可以删除这个答案:))。你知道吗
您可以使用
pivot
函数进行一些操作。你知道吗例如,您可以尝试:
df.pivot(index='RegistrationNo', columns='Date', values='ClassAttend')
更多示例here。你知道吗
你可能应该先把每个学生的上课人数加起来(这取决于你想要达到的目标——从你的问题和数据截图上还不清楚)。你知道吗
相关问题 更多 >
编程相关推荐