パンダの短軸に沿ってデータのPanelフレームを拡張したいと思います。パネルを生成するためにのをdic
作成することから始めます。DataFrame
import pandas as pd
import numpy as np
rng = pd.date_range('1/1/2013',periods=100,freq='D')
df1 = pd.DataFrame(np.random.randn(100, 4), index = rng, columns = ['A','B','C','D'])
df2 = pd.DataFrame(np.random.randn(100, 4), index = rng, columns = ['A','B','C','D'])
df3 = pd.DataFrame(np.random.randn(100, 4), index = rng, columns = ['A','B','C','D'])
pf = pd.Panel({'df1':df1,'df2':df2,'df3':df3})
予想通り、次の寸法のパネルがあることがわかりました。
寸法:3(アイテム)x 100(メジャー軸)x 4(マイナー軸)アイテム軸:df1〜df3メジャー軸軸:2013-01-01 00:00:00〜2013-04-10 00:00:00マイナー軸軸:A Dへ
ここで、マイナー軸に新しいデータセットを追加します。
pf['df1']['E'] = pd.DataFrame(np.random.randn(100, 1), index = rng)
pf['df2']['E'] = pd.DataFrame(np.random.randn(100, 1), index = rng)
pf['df2']['E'] = pd.DataFrame(np.random.randn(100, 1), index = rng)
この新しい短軸を追加した後、パネル配列の寸法の形状は変更されていないことがわかりました。
shape(pf)
[3,100,4]
major_axisの各アイテムのデータにアクセスできます。
pf.ix['df1',-10:,'E']
2013-04-01 0.168205 2013-04-02 0.677929 2013-04-03 0.845444 2013-04-04 0.431610 2013-04-05 0.501003 2013-04-06 -0.403605 2013-04-07 -0.185033 2013-04-08 0.270093 2013-04-09 1.569180 2013-04-10 -1.374779周波数:D、名前:E
しかし、スライスを拡張して複数の主軸を含めると、次のようになります。
pf.ix[:,:,'E']
次に、「E」が不明であるというエラーが発生します。
誰かが私がどこで間違っているのか、またはこの操作を実行するためのより良い方法を提案できますか?