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'? –