Skip to main content

h5dataframe

Drop-in replacement for pandas DataFrames that allows to store data on an hdf5 file and manipulate data directly from that hdf5 file without loading it in memory.

Warning !

This is very much a work in progress, some features might not work yet or cause bugs. Save your data elsewhere before converting it to an H5DataFrame.

If you miss a feature from pandas DataFrames, please fill an issue or feel free to contribute.

Overview

This library provides the H5DataFrame object, replacing the regular pandas.DataFrame.

An H5DataFrame can be created from a pandas.DataFrame or from a dictionnary of (column_name -> column_values).

>>> import pandas as pd
>>> from h5dataframe import H5DataFrame
>>> df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}, 
                      index=['r1', 'r2', 'r3'])
>>> hdf = H5DataFrame(df)
>>> hdf
    a  b
r1  1  4
r2  2  5
r3  3  6
[RAM]
[3 rows x 2 columns]

At this point, all the data is still loaded in RAM, as indicated by the second-to-last line. To write the data to an hdf5 file, use the H5DataFrame.write() method.

>>> hdf.write('path/to/file.h5')
>>> hdf
    a  b
r1  1  4
r2  2  5
r3  3  6
[FILE]
[3 rows x 2 columns]

The H5DataFrame is now backed on an hdf5 file, only loading data in RAM when requested.

Alternatively, an H5DataFrame can be read directly from an previously created hdf5 file with the H5DataFrame.read() method.

>>> from h5dataframe import H5Mode
>>> H5DataFrame.read('path/to/file.h5', mode=H5Mode.READ)
    a  b
r1  1  4
r2  2  5
r3  3  6
[FILE]
[3 rows x 2 columns]

The default mode is READ ('r') which creates a read-only H5DataFrame. To modify the data, use mode=H5Mode.READ_WRITE ('r+').

Installation

From pip:

pip install h5dataframe

From source:

git clone git@github.com:Vidium/h5dataframe.git

Metadata

Release files for h5dataframe 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for h5dataframe 0.2.3
File Size Uploaded
h5dataframe-0.2.3.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for h5dataframe 0.2.3
File Interpreter ABI Platform
h5dataframe-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / h5dataframe-0.2.3.tar.gz

Download URL h5dataframe-0.2.3.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
54db846e3b897f01c34850c72bf96ad97a40d7b2760e1c41337bab956c516456
BLAKE2b-256 checksum
How to use checksums
51b74c0d744fb34104565e6b1251555bebaa384a5560e3a9cf49e54ff2d03331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.12

Release files / h5dataframe-0.2.3-py3-none-any.whl

Download URL h5dataframe-0.2.3-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
189ba906fc8ef6fc46f65a7af26cc8d55fb4a6847201161c63c66ffaac72f352
BLAKE2b-256 checksum
How to use checksums
fce9f54181b30f06432df1ee9e1bb18c43128e35c3d572167462a7c68fbc941d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.12

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page