我有这样一个算法,用于csv文件对象。
#diplay_id, ad_id, clicked(1 or 0)
colls = {'display_id':np.int32,
'ad_id':np.int32,
'clicked':bool}
trainData = pd.read_csv("trainData.csv")
for did, ad, c in trainData.itertuples():
print did + ad + c #example但是,现在我有了一个'.h5‘文件,我想在算法中使用它。我读的文件如下;
store = pd.HDFStore('data.h5')但正如我所知,HDFStore返回np数组。你知道在算法中使用数据文件吗?
发布于 2016-11-11 16:12:27
本例中的主要区别在于,HDF5文件可能包含多个DFs/table,因此您必须始终指定一个键(标识符)。
下面是一个小演示:
In [14]: fn = r'C:\Temp\test_str.h5'
In [15]: store = pd.HDFStore(fn)
In [16]: store
Out[16]:
<class 'pandas.io.pytables.HDFStore'>
File path: C:\Temp\test_str.h5
/test frame_table (typ->appendable,nrows->10000,ncols->4,indexers->[index],dc->[a,c])在这种情况下,只有一个DF (key=/test)存储在这个HDF5文件中。
假设所有HDF5文件只有一个DF (每个文件只有一个键),您可以通过选择第一个键来动态处理它们:
In [17]: store.keys()
Out[17]: ['/test']
In [18]: key = store.keys()[0]
In [19]: key
Out[19]: '/test'
In [20]: store[key].head()
Out[20]:
a b c txt
0 689347 129498 770470 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
1 954132 97912 783288 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
2 40548 938326 861212 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
3 869895 39293 242473 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...
4 938918 487643 362942 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...https://stackoverflow.com/questions/40550631
复制相似问题