Pandas HDF存储重复项错误

Pandas HDF存储重复项错误,pandas,Pandas,大家好,提前谢谢 我正在尝试定期将财务数据存储到数据库中,以便以后查询。我使用熊猫进行几乎所有的数据编码。我想将我创建的数据帧附加到HDF数据库中。我将csv读入一个数据帧,并按时间戳对其进行索引。数据框看起来像: <class 'pandas.core.frame.DataFrame'> Int64Index: 900 entries, 1378400701110 to 1378410270251 Data columns (total 23 columns): .... ...C

大家好,提前谢谢

我正在尝试定期将财务数据存储到数据库中,以便以后查询。我使用熊猫进行几乎所有的数据编码。我想将我创建的数据帧附加到HDF数据库中。我将csv读入一个数据帧,并按时间戳对其进行索引。数据框看起来像:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 900 entries, 1378400701110 to 1378410270251
Data columns (total 23 columns):
....
...Columns with numbers of non-null values....
.....
dtypes: float64(19), int64(4)

store = pd.HDFStore('store1.h5')
store.append('df', df)
print store

<class 'pandas.io.pytables.HDFStore'>
File path: store1.h5
/df            frame_table  (typ->appendable,nrows->900,ncols->23,indexers->[index])
df.head()看起来像:

columns = ['TimeStamp', 'LastTrade', 'Bid1', 'Bid1Volume', 'Bid1', 'Bid1Volume',    'Bid2', 'Bid2Volume', 'Bid3', 'Bid3Volume', 'Bid4', 'Bid4Volume', 
       'Bid5', 'Bid5Volume', 'Ask1', 'Ask1Volume', 'Ask2', 'Ask2Volume', 'Ask3', 'Ask3Volume', 'Ask4', 'Ask4Volume', 'Ask5', 'Ask5Volume']

df = pd.read_csv('/20130905.csv', names=columns, index_col=[0])
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5 entries, 1378400701110 to 1378400703105
Data columns (total 21 columns):
LastTrade     5  non-null values
Bid1          5  non-null values
Bid1Volume    5  non-null values
Bid1          5  non-null values
.................values
Ask4          5  non-null values
Ask4Volume    5  non-null values
dtypes: float64(17), int64(4)
及版本:

>>> pd.__version__
'0.12.0'

如果您有任何想法,我们将不胜感激,再次感谢。

您真的有重复的“Bid1”和“Bid1Volume”专栏吗

unrelated,但是您还应该将索引设置为datetime索引

import pandas as pd
df.index = pd.to_datetime(df.index,unit='ms')
这是一个错误,因为重复的列跨数据类型(不是什么大问题) 但未被发现)

最简单的方法就是不要有重复的列


将在0.13中修复,请参见此处:

您使用的是什么版本的
pandas
?能否显示is df.head()以及如何创建此框架(代码)
>>> pd.__version__
'0.12.0'
import pandas as pd
df.index = pd.to_datetime(df.index,unit='ms')