一直在努力解决这个问题并阅读现有的SO主题和文档并没有帮助,所以我想我会尝试发帖寻求帮助。
以下是我所拥有的以及我尝试做的最简单的例子:
a
我想要的是:
import pandas
rows = [['Q1A','Correct','jack'],
['Q1A','Correct','jill'],
['Q1A','Incorrect','john'],
['Q1B','Correct','jack'],
['Q1B','Correct','jill'],
['Q1B','InCorrect','john'],]
sample = pandas.DataFrame(columns['Type','Correctness','username'],data=rows)
以下是我尝试的内容:
Q1B Correct Q1B Incorrect
Q1A Correct 2 0
Q1A Incorrect 0 1
,输出为:
pandas.crosstab([sample['Type'],sample['Correctness']],
[sample['Type'],sample['Correctness']])
这个应该可以通过 Type Q1A Q1B
Correctness Correct Incorrect Correct InCorrect
Type Correctness
Q1A Correct 2 0 0 0
Incorrect 0 1 0 0
Q1B Correct 0 0 2 0
Incorrect 0 0 0 1
,pandas.crosstab
和pandas.groupby
来实现,但......不能完全绕过它。< / p>
======
更新:感谢您将我指向正确的位置。对于那些在将来偶然发现这种情况的人来说,答案是在链接的问题中提供的,但是对于这个应用程序,它是:
pandas.pivot_table
谢谢!