次のようなサブインデックス構造を持つ DataFrame があるとします。「date」、「tenor」、「mat」、「strike」があり、監視対象のフィールドが列「vol」に格納されているとします。
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' と 'mat'、'strike' および 'vol' で構成された 3D 配列によって指定された 'values' を持つ新しいデータフレームを取得して、このデータを再編成したいとします。このような方法:
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.]]
「unstack」、「groupby」、「pivot」のさまざまな試行を試みましたが、成功しませんでした。多くの Python ベクトル操作を使用して目的を達成することしかできませんでしたが、これは時間のかかる非効率的な手順でした。同じ結果を得るために、特定のより効率的なパンダ手順はありますか? 私はこれで迷っています...助けてくれてありがとう、マウリツィオ