HDF5 ファイルを Pandas DataFrame に読み込む

Manav Narula 2023年6月21日
  1. Pandas を使用して DataFrame を HDF5 にエクスポートする
  2. HDF5 ファイルを Pandas DataFrame に読み込む
  3. まとめ
HDF5 ファイルを Pandas DataFrame に読み込む

世界は進化しており、大量のデータを保存および処理するためのビッグデータが非常に重要になっています。 このような量のために、新しいファイル形式が出現し、従来のストレージ オプションを追い越しています。

そのような形式の 1つが HDF5 ファイルです。 HDF5 ファイルは Hierarchal Data Format バージョン 5 を表します。 このバージョンが最も一般的に使用されます。

このファイル形式を使用して、大量のデータを保存し、コンテンツを特定の階層に整理します。 これの利点は、必要なストレージ スペースが少なくて済み、データの一部にすばやくアクセスできることです。

このようなファイルは、Python で h5py モジュールを使用して効率的に処理できます。 Pandas ライブラリを使用して、そのようなデータをデータ フレームにロードすることもできます。

この記事では、Python で Pandas ライブラリを使用して HDF5 ファイルを操作する方法を示します。

Pandas を使用して DataFrame を HDF5 にエクスポートする

pandas.to_hdf() 関数を使用して、データフレーム オブジェクトを HDF5 ファイルにエクスポートできます。 この関数は、HDFStore を使用してデータフレームを HDF5 ファイルに書き込みます。

この関数を使用する前に、いくつかの重要なパラメーターを理解する必要があります。

グループ識別子を指定するには、key パラメータを使用します。 mode パラメータを使用して、ファイルにさまざまなモードを設定できます。

w モードはファイルを書き込みモードで開き、以前の内容を消去します。 a モードは、ファイルを追加モードで開き、以前の内容を維持したままデータを追加します。

以下の例では、この関数を使用してデータフレームを HDF5 ファイルにエクスポートします。

df = pd.DataFrame({"C1": [10, 11, 12], "C2": [20, 21, 22]}, index=[0, 1, 2])
df.to_hdf("file_data.h5", key="df", mode="w")

上記の例では、データ フレームのコンテンツを含む HDF5 ファイルが作成されます。 ファイルを書き込みモードで開き、以前のデータを消去します。

HDF5 ファイルを Pandas DataFrame に読み込む

そのようなファイルを読み取るために直接使用できる pandas.read_hdf() 関数があります。 ただし、すべての HDF5 ファイルで機能するとは限りません。

Pandas ライブラリは、HDF5 ファイルの特定の構造のみを理解するため、この関数はそのような構造でのみ機能します。

以下のコードを参照してください。

import pandas as pd

df = pd.read_hdf("file_data.h5")
print(df)

出力:

   C1  C2
0  10  20
1  11  21
2  12  22

上記の例では、read_hdf() 関数を使用して、前の関数で作成された HDF5 ファイルを読み取ります。 説明したように、HDF5 ファイルのすべての構造を pandas.read_hdf() 関数を使用して直接インポートできるわけではありません。

そのような場合には、うまくいくかもしれない簡単な修正があります。 h5py および numpy モジュールの使用が含まれます。

h5py.File コンストラクターを使用して、指定された HDF5 ファイルを読み取り、numpy.array() 関数を使用して numpy 配列に格納します。 次に、pandas.DataFrame() 関数を使用して、このデータをデータフレームに保持できます。

このフォーマットを以下に示します。

import pandas as pd
import numpy as np
import h5py

df = pd.DataFrame(np.array(h5py.File("file_data.h5")["df"]))

まとめ

最後に、Python で Pandas ライブラリを使用して HDF5 ファイルを操作する方法について説明しました。 まず、HDF5 ファイル形式とその利点について学びました。

to_hdf() メソッドを使用して、データフレームをそのようなファイルにエクスポートしました。 このようなファイルを読み取るには、read_hdf() 関数を使用します。

複雑な構造の場合、h5py、NumPy、および Pandas ライブラリの関数の組み合わせを使用して、ファイルをデータフレームに読み込むことができます。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Pandas DataFrame