8

私はジップラインとパンダで作業しており、メソッドを使用してapandas.Panelを a に変換しました。これは、ご覧のとおりマルチインデックス化された結果です。pandas.DataFrameto_frame()pandas.DataFrame

                                  price
major                     minor                
2008-01-03 00:00:00+00:00 SPY    129.93
                          KO      26.38
                          PEP     64.78
2008-01-04 00:00:00+00:00 SPY    126.74
                          KO      26.43
                          PEP     64.59
2008-01-07 00:00:00+00:00 SPY    126.63
                          KO      27.05
                          PEP     66.10
2008-01-08 00:00:00+00:00 SPY    124.59
                          KO      27.16
                          PEP     66.63

このフレームを次のように変換する必要があります。

                          SPY     KO     PEP
2008-01-03 00:00:00+00:00 129.93  26.38  64.78
2008-01-04 00:00:00+00:00 126.74  26.43  64.59
2008-01-07 00:00:00+00:00 126.63  27.05  66.10
2008-01-08 00:00:00+00:00 124.59  27.16  66.63

ピボット メソッド、スタック/アンスタックなどを試しましたが、これらのメソッドは探しているものではありません。私はこの時点で本当に行き詰まっており、どんな助けも大歓迎です。

4

1 に答える 1

14

MultiIndex が既に配置されており、stackunstackを cols に、またはその逆に移動するために使用するものであるためです。そうは言っても、unstack達成したいことを正確に行う必要があります。DataFrame がある場合はdfdf2 = df.unstack('minor')そのトリックを実行する必要があります。またはもっと簡単に言うと、デフォルトではstack/unstackが最も内側のレベルを使用するため、df2 = df.unstack().

于 2013-04-01T20:45:08.580 に答える