按顺序连接存储在HDFStore Pandas中的面板数据

时间:2017-01-06 16:36:23

标签: python pandas

我有一个大型数据集,包括许多Pandas面板,沿主轴有时间。 Pandas concat方法允许连接面板,使得短轴共享一个共同的时间索引,这正是我所需要的。缺少值可以方便地替换为NaN。

dat1 = np.random.randn(1, 3, 3) 
pan1 = pd.Panel(dat1, 
              items=['One'], 
              major_axis=pd.date_range('1/1/2000', periods=3),
              minor_axis=['A', 'B', 'C'])
dat2 = np.random.randn(1, 3, 3)
pan2 = pd.Panel(dat2, 
              items=['Two'], 
              major_axis=pd.date_range('1/2/2000', periods=3),
              minor_axis=['A', 'B', 'C'])
panc = pd.concat([pan1, pan2])

以下切片提供了我想要实现的数据访问类型。

panc.loc['One',:,:]
panc.loc[:,:,'A']

问题是我有非常多的面板,每个面板都有数千个数据点。我预计最终一个顺序连接的面板将使我可用的内存饱和。因此,我希望使用Pandas HDFStore将面板数据存储在HDF5文件中。

store = pd.HDFStore('store.h5',)
store.put('panc', panc, format='table')

上述命令适用于预连接的面板,但我无法弄清楚如何连接到商店中的现有面板。我的问题是:

是否可以按顺序连接商店中的面板,类似于上面的Pandas concat示例? (我无法用HDFStore追加方法实现这一点,可能是因为我不太了解追加是如何工作的。)

是否有另一种更智能的方法将数据存储在HDF5文件中,该文件在共同的主轴(时间)上提供我需要的组织,同时允许访问数据,就好像它们存储为面板一样?

0 个答案:

没有答案