我想沿熊猫的短轴扩展面板数据框架。我开始创建一个dic
of DataFrame
s 来生成一个面板。
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 (items) x 100 (major_axis) x 4 (minor_axis) 项目轴:df1 到 df3 Major_axis 轴:2013-01-01 00:00:00 到 2013-04-10 00:00:00 Minor_axis 轴:A到 D
我现在想向 Minor 轴添加一个新数据集:
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”是未知的。
谁能建议我哪里出错或执行此操作的更好方法?