1.方法set_index,堆栈,reset_index
使用,unstack
和reset_index
:
df.set_index(['Col 1','Col 2'])['Col 3'].unstack().reset_index()
输出:
Col 2 Col 1 puchase 1 puchase 2 purchase 1 purchase 2 purchase 3 purchase 4
0 julia skirt74 None None short74 coat14 coat15
1 laura None skirt55 dress23 None shirt47 coat45
先做一个小数据清理和你结果看起来像。 新的输入DF,
Col 1 Col 2 Col 3
0 laura purchase 1 dress23
1 laura purchase 2 skirt55
2 laura purchase 3 shirt47
3 laura purchase 4 coat45
4 julia purchase 1 skirt74
5 julia purchase 2 short74
6 julia purchase 3 coat14
7 julia purchase 4 coat15
现在,执行大熊猫重塑:
df.set_index(['Col 1','Col 2'])['Col 3'].unstack().reset_index()
输出:
Col 2 Col 1 purchase 1 purchase 2 purchase 3 purchase 4
0 julia skirt74 short74 coat14 coat15
1 laura dress23 skirt55 shirt47 coat45
2.方法支点和reset_index
或者使用pivot
和reset_index
:
df.pivot(index='Col 1',columns = 'Col 2', values= 'Col 3').reset_index()
输出:
Col 2 Col 1 purchase 1 purchase 2 purchase 3 purchase 4
0 julia skirt74 short74 coat14 coat15
1 laura dress23 skirt55 shirt47 coat45
你尝试过这么远吗?另外,我没有看到您的输出有任何模式,以及您希望如何格式化它。 – victor
我猜'coast10'应该是'coat15'? –