擁有這個初始資料框:
print (df)
Tenor IV RV
Ccy Pair
EURUSD 1M 5 6
EURUSD 3M 5 6
EURUSD 6M 5 6
EURUSD 1Y 5 6
USDJPY 1M 5 6
USDJPY 3M 5 6
USDJPY 6M 5 6
USDJPY 1Y 5 6
GBPUSD 1M 5 6
GBPUSD 3M 5 6
GBPUSD 6M 5 6
GBPUSD 1Y 5 6
我想將它轉換為多列一,這樣結果就像
1M 3M 6M 1Y
CcyPair RV | IV RV | IV RV | IV RV | IV
----------------------------------------------
EURUSD 5 6 5 6 5 6 5 6
USDJPY 5 6 5 6 5 6 5 6
......
有沒有一種很好的方法來實作這一點,而無需從原始資料幀手動創建單個陣列并使用 multiIndex 進行轉換?
uj5u.com熱心網友回復:
使用DataFrame.stack有Series.unstack:
df = df.set_index('Tenor', append=True).stack().unstack([1,2])
print (df)
Tenor 1M 3M 6M 1Y
IV RV IV RV IV RV IV RV
Ccy Pair
EURUSD 5 6 5 6 5 6 5 6
GBPUSD 5 6 5 6 5 6 5 6
USDJPY 5 6 5 6 5 6 5 6
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325884.html
