Pandas DataFrame으로 HDF5 파일 읽기

Manav Narula 2023년6월21일
  1. Pandas를 사용하여 DataFrame을 HDF5로 내보내기
  2. Pandas DataFrame으로 HDF5 파일 읽기
  3. 결론
Pandas DataFrame으로 HDF5 파일 읽기

세상은 진화하고 있으며 많은 양의 데이터를 저장하고 처리하기 위한 빅 데이터가 매우 중요합니다. 이러한 양으로 인해 기존 스토리지 옵션을 능가하는 새로운 파일 형식이 등장했습니다.

이러한 형식 중 하나는 HDF5 파일입니다. HDF5 파일은 Hierarchal Data Format 버전 5를 나타냅니다. 이 버전이 가장 일반적으로 사용됩니다.

이 파일 형식을 사용하여 대량의 데이터를 저장하고 콘텐츠를 특정 계층 구조로 구성합니다. 이것의 장점은 저장 공간이 덜 필요하고 데이터의 일부에 빠르게 액세스할 수 있다는 것입니다.

h5py 모듈을 사용하여 Python에서 이러한 파일을 효율적으로 사용할 수 있습니다. 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 파일을 생성합니다. 쓰기 모드에서 파일을 열고 이전 데이터를 지웁니다.

Pandas DataFrame으로 HDF5 파일 읽기

이러한 파일을 읽는 데 직접 사용할 수 있는 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() 함수를 사용하여 직접 가져올 수 있는 것은 아닙니다.

이러한 경우 작동할 수 있는 빠른 수정이 있습니다. 여기에는 h5pynumpy 모듈 사용이 포함됩니다.

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