【发布时间】:2014-08-18 02:48:08
【问题描述】:
我有一个 pandas 数据框,用于显示用户在测试问题上的表现。它看起来像这样:
userID questionID correct
-------------------------------
1 1 1
1 5 1
1 6 0
1 8 0
1 10 1
2 3 1
2 5 1
2 6 0
. . .
. . .
. . .
我想为每个用户制作一个特征向量,说明他们是否正确回答了每个问题,看起来像这样:
questionID 1 2 3 4 5 6 ...
userID -------------------------------------------------
1 1 NaN NaN NaN 1 0 ...
2 NaN NaN 1 NaN 1 0 ...
. ...
. ...
.
每个用户只看到所有问题的一个子集,所以它是一个稀疏矩阵。
如何在 pandas 中制作上表?
我想做类似下面的事情 - 按 userID 和 questionID 分组,然后取消堆叠,但我不确定它应该如何工作。
df = df.groupby(['user_id','question_id'])
df.unstack()
感谢您的帮助。
【问题讨论】:
标签: python pandas machine-learning