【发布时间】:2020-12-09 09:20:51
【问题描述】:
我有这个主要的df1:
Name | Course | Q_1 | Q_2 | ... | Q_60
John | Phys | A | C | ... | D
Karen| Math | C | C | ... | E
... | ... | ... | ... | ... | ...
(~1200 个名字)
参考的关键答案是df2:
1 2 3 4 ... 60
A | C | C | E | ... | D
我想比较 df1 和 df2 来回答此类问题:
- 哪些问题学生答对了?
- 有多少学生答对了 Q_3、Q_4、Q_5 和 Q_10?
我已经尝试简单地进行条件比较,但这只会给我一个 np.array 布尔值:是否可以索引 True/False 的位置匹配任何给定的答案,返回类似:
df3:
Name | Course | Q_1 | Q_2 | ... |Q_60
John | Phys |True |True | ... |True
Karen| Math |False|True | ... |False
...........
然后对 True 匹配条件进行条件计数,存储其位置以获得解决方案?
【问题讨论】:
-
你能分享你到目前为止所做的事情以及你认为可能的答案吗?我们将审查并为您提供引导您走向正确方向的 cmets。
-
我有一个包含 4 张纸的 DataFrame:其中两张由学生给出的答案组成,每人得到 60 个答案(30 个前测 + 30 个后测,但是测试本身是一样的!!);第三张是关键答案表,它的 30 个正确答案必须作为比较个人答案的指南(第四张只是存储计算)。我坚持将学生的答案与第三张纸进行比较,以一种应该可以找到其中(特别是)正确的方式。
-
我已经设法简单地计算出正确答案的 number 个“如果比较”(“==”运算符),例如:right_answers = np.array(data[ ids_answer] == np.array(key_answer); 但不知道如何存储这些人在数据帧 (df1) 上保持正确位置以供将来检查(再次,重点是我的 2 个问题'已经修复了帖子)。无论如何,提前谢谢,任何建议都会有所帮助!
标签: python pandas dataframe rows