这就是我的数据框的样子。第一列是一个整数。第二列是 512 个整数的单个列表。
IndexID Ids
1899317 [0, 47715, 1757, 9, 38994, 230, 12, 241, 12228...
22861131 [0, 48156, 154, 6304, 43611, 11, 9496, 8982, 1...
2163410 [0, 26039, 41156, 227, 860, 3320, 6673, 260, 1...
15760716 [0, 40883, 4086, 11, 5, 18559, 1923, 1494, 4, ...
12244098 [0, 45651, 4128, 227, 5, 10397, 995, 731, 9, 3...
我将其保存到 hdf 并尝试使用打开它
df.to_hdf('test.h5', key='df', data_columns=True)
h3 = h5py.File('test.h5')
当我列出键时,我看到 4 个键
h3['df'].keys()
KeysViewHDF5 ['axis0', 'axis1', 'block0_items', 'block0_values']
Axis1 看到包含第一列的值
h3['df']['axis1'][0:5]
数组([ 1899317, 22861131, 2163410, 15760716, 12244098,
但是,第二列似乎没有数据。确实还有另一列包含其他数据
h3['df']['block0_values'][0][0:5]
但这似乎与第二列中的任何数据都不对应
数组([128, 4, 149, 1, 0], dtype=uint8)
Purpose
我最终尝试创建一个内存映射的数据存储,它使用特定索引检索数据。
所以像
h3['df']['workingIndex'][22861131, 15760716]
会检索
[0, 48156, 154, 6304, 43611, 11, 9496, 8982, 1...],
[0, 40883, 4086, 11, 5, 18559, 1923, 1494, 4, ...