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