2
假設我有一個DataFrame,它具有如下所示的子索引結構,'date','tenor''mat'和'strike',以及要被觀察的字段存儲在哪裏列「卷」:如何在熊貓數據框中組織結構化數據
date tenor mat strike vol
20120903 3m 1y 0.25 52.
0.50 51.
1.00 49.
20120903 3m 5y 0.25 32.
0.50 55.
1.00 23.
20120903 3m 10y 0.25 65.
0.50 55.
1.00 19.
20120904 3m 1y 0.25 32.
0.50 57.
1.00 44.
20120904 3m 5y 0.25 54.
0.50 50.
1.00 69.
20120904 3m 10y 0.25 42.
0.50 81.
1.00 99.
說,我想通過獲得與分類指數「日期」 +「男高音」一個新的數據幀,並通過「墊子」構成的三維數組給定「價值」來重組這個數據, '罷工'和'卷'從這樣的方式:
date tenor values
20120903 3m [[1y,5y,10y],[0.25, 0.50, 1.00], [52., 51., 49.],
[32., 55., 23.],
[65., 55., 19.]]
20120904 3m [[1y,5y,10y],[0.25, 0.50, 1.00], [32., 57., 44.],
[54., 50., 69.],
[42., 81., 99.]]
我試過各種嘗試'unpack','groupby'和'pivot',但沒有成功。我只能通過使用大量的Python矢量操作來實現我的目標,但這是一個緩慢而低效的過程。是否有任何特定的,更高效的熊貓程序,以獲得相同的結果?我迷路在這... 感謝您的幫助, 莫里吉奧
昌您好,感謝您的回覆:最後一個問題,你是怎麼得到第一行中的'df'?我的意思是,你的看起來和我原來的看起來不一樣,因爲你原來似乎只有三列('墊''罷工'和'卷'),而我的只有'卷'值,其他人是索引 – mspadaccino
我剛剛粘貼了你的代碼片段。你可以使用'set_index'或'reset_index'來創建索引列,反之亦然。我的df有一個帶有「日期」和「男高音」級別的MultiIndex。 –