大佬教程收集整理的这篇文章主要介绍了Python(Pandas):将数据框存储在具有多索引的hdf5中,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个例子
In [8]: pd.__version__
Out[8]: '0.14.1'
In [9]: np.__version__
Out[9]: '1.8.1'
In [10]: import sys
In [11]: sys.version
Out[11]: '2.7.3 (default, Jan 7 2013, 09:17:50) \n[GCC 4.4.5]'
In [4]: df = DataFrame(np.arange(9).reshape(9,-1),index=pd.MultiIndex.from_product([List('abc'),date_range('20140721',periods=3)],names=['symbol','date']),columns=['value'])
In [5]: df
Out[5]:
value
symbol date
a 2014-07-21 0
2014-07-22 1
2014-07-23 2
b 2014-07-21 3
2014-07-22 4
2014-07-23 5
c 2014-07-21 6
2014-07-22 7
2014-07-23 8
In [6]: df.to_hdf('test.h5','df',mode='w',format='table')
In [7]: pd.read_hdf('test.h5','df',where='date=20140722')
Out[7]:
value
symbol date
a 2014-07-22 1
b 2014-07-22 4
c 2014-07-22 7
In [12]: pd.read_hdf('test.h5','df',where='symbol="a"')
Out[12]:
value
symbol date
a 2014-07-21 0
2014-07-22 1
2014-07-23 2
我需要使用具有多个索引的大型数据框,因此我尝试创建一个数据框以了解如何将其存储在hdf5文件中。数据框是这样的:(在前2列中有multi索引)
Symbol Date 0
C 2014-07-21 4792
B 2014-07-21 4492
A 2014-07-21 5681
B 2014-07-21 8310
A 2014-07-21 1197
C 2014-07-21 4722
2014-07-21 7695
2014-07-21 1774
我正在使用pandas.to_hdf,但在尝试选择组中的数据时会创建“固定格式存储”:
store.SELEct('table','Symbol == "A"')
它返回一些错误,主要问题是
TypeError: cAnnot pass a where specification when reading from a Fixed format store. this store must be SELEcted in its entirety
然后我试图像这样追加DataFrame:
store.append('ts1',timedata)
那应该创建一个表,但这给了我另一个错误:
TypeError: [unicode] is not implemented as a table column
所以我需要的代码将数据帧存储在一个表中HDF5格式并选择从单一索引的DATAS(为此目的,我发现这个代码:store.SELEct('timedata','Symbol
== "A"')
)
以上是大佬教程为你收集整理的Python(Pandas):将数据框存储在具有多索引的hdf5中全部内容,希望文章能够帮你解决Python(Pandas):将数据框存储在具有多索引的hdf5中所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。