Work with Scientific Data Format files in Python
Project description
SDF is a Python package to read, write and interpolate multi-dimensional data. The Scientific Data Format is an open file format based on HDF5 to store multi-dimensional data such as parameters, simulation results or measurements. It supports…
very large files
up to 32 dimensions
hierarchical structure
units, comments and custom meta-information
For detailed information see the SDF specification.
Installation
To install the latest release from PyPI or update an existing installation:
python -m pip install --upgrade sdf
To install the latest development version:
python -m pip install --upgrade https://github.com/ScientificDataFormat/SDF-Python/archive/main.zip
Tutorial
Import the SDF and NumPy packages:
>>> import sdf >>> import numpy as np
Create the data arrays:
>>> t = np.linspace(0, 10, 51) >>> v = np.sin(t)
Create the datasets:
>>> ds_t = sdf.Dataset('t', data=t, unit='s', is_scale=True, display_name='Time') >>> ds_v = sdf.Dataset('v', data=v, unit='V', scales=[ds_t])
Create the root group and write the file:
>>> g = sdf.Group('/', comment='A sine voltage', datasets=[ds_t, ds_v]) >>> sdf.save('sine.sdf', g)
Read the dataset from the SDF file asserting the correct unit of the dataset and scale:
>>> ds_v2 = sdf.load('sine.sdf', '/v', unit='V', scale_units=['s'])
Get the meta info and data array from the dataset:
>>> ds_v2.unit 'V' >>> ds_v2.data.shape (51,)
Get the scale for the first dimension:
>>> ds_t2 = ds_v2.scales[0] >>> ds_t2.unit 's'
Copyright © 2024 Dassault Systèmes
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file SDF-0.3.6-py3-none-any.whl
.
File metadata
- Download URL: SDF-0.3.6-py3-none-any.whl
- Upload date:
- Size: 141.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28a171fffd74a3e4eaff033c8fc425eab1bfa7d4e359487d921c9373f05dd5a3 |
|
MD5 | 3f8cdd13bee0a41d0c2e4d2bf482cf06 |
|
BLAKE2b-256 | aa22d7caebdec0d92bed8ca38cef79af36bfec859f6ab0f43368cfe1b3dc1214 |