我有以下数据集,其中X1是完成测试的日期,X2是具有45个级别的测试结果,x3是测试名称
Date X3 AA LL
20.04.2017 1256(NB) 1 1
20.04.2017 1257(NB) 1 1
20.04.2017 1258(LM) 1 0
23.07.2017 1258(LM) 0 1
我正在尝试将上述数据转换为
[
我能够为AA& amp;创建虚拟列。 LL使用' pd.get_dummies'但是没有发生基于X3列的聚合。
答案 0 :(得分:1)
执行此操作的一种方法是使用get_dummies
+ sum
:
df.set_index(['X1', 'X3']).X2\
.str.get_dummies().sum(level=[0, 1]).reset_index()
X1 X3 AA LL
0 20.04.2017 1256(NB) 1 0
1 20.04.2017 1257(NB) 1 1
2 20.04.2017 1258(LM) 1 0
3 23.07.2017 1256(NB) 0 1
4 23.07.2017 1258(LM) 0 1