3

pandas Series/DataFrame テーブルを含む HDF5 ファイルがあります。HDF のキーの下に格納されているテーブルの (パンダ) インデックスを取得する必要がありますが、必ずしもテーブル全体ではありません。

インデックスを取得する 2 つの (事実上同じ) 方法を考えることができます。

import pandas as pd

hdfPath = 'c:/example.h5'
hdfKey = 'dfkey'
# way 1:
with pd.HDFStore(hdfPath) as hdf:
    index = hdf[hdfKey].index

# way 2:
index = pd.read_hdf(hdfPath, hdfKey)

ただし、〜 2000 行の pandas シリーズの場合、これには 0.6 秒かかります。

%timeit pd.read_hdf(hdfPath, hdfKey).index
1 loops, best of 3: 605 ms per loop

HDF でテーブルのインデックスのみを取得する方法はありますか?

4

1 に答える 1

2

HDFStore オブジェクトには、インデックスを取得できるselect_columnメソッドがあります。値としてインデックスを持つシリーズを返すことに注意してください。

with pd.HDFStore(hdfPath) as hdf:
    index = hdf.select_column(hdfKey, 'index').values
于 2016-07-17T18:13:52.003 に答える