Skip to main content

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/develop.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'

© 2019 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.

Files for SDF, version 0.3.4
Filename, size File type Python version Upload date Hashes
Filename, size SDF-0.3.4-py2.py3-none-any.whl (141.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size SDF-0.3.4.tar.gz (147.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page