寶慕林4294392
2021-12-09 15:13:39
我想使用port1和port2作為感興趣的變量將以下數(shù)據(jù)從長(zhǎng)到寬重塑 port1 port2 w_retdate 2006-01-01 0.0 0.0 0.0679912006-01-01 0.0 1.0 0.0332192006-01-01 1.0 0.0 0.0733242006-01-01 1.0 1.0 0.0397302006-01-02 0.0 0.0 0.0336162006-01-02 0.0 1.0 0.0224522006-01-02 1.0 0.0 -0.0248542006-01-02 1.0 1.0 0.020411我希望重新排列的數(shù)據(jù)看起來像這樣: 0.00.0 0.01.0 1.00.0 1.01.0 date2006-01-01 0.067991 0.033219 0.073324 0.039730 2006-01-02 0.033616 0.022452 -0.024854 0.020411頂部的數(shù)字類似于port1和port2數(shù)字在一起。我不確定當(dāng)使用正確的代碼時(shí)會(huì)發(fā)生什么。我unstack()在制作port1和port2索引時(shí)嘗試過并嘗試date使用pivot_table,但沒有成功實(shí)現(xiàn)此輸出。任何想法都會(huì)很棒!
1 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
首先將列連接在一起,然后DataFrame.set_index使用參數(shù)append=True并最后通過Series.unstack以下方式重塑:
s = df['port1'].astype(str) + df['port2'].astype(str)
df = df.set_index(s, append=True)['w_ret'].unstack()
print (df)
0.00.0 0.01.0 1.00.0 1.01.0
date
2006-01-01 0.067991 0.033219 0.073324 0.039730
2006-01-02 0.033616 0.022452 -0.024854 0.020411
添加回答
舉報(bào)
0/150
提交
取消